android桌面快捷方式跳转到指定activity

AndroidManifest.xml 应用主入口配置:

        <activity
            android:name="com.*.cust.contacts.MainActivity"
            android:exported="true"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <!-- 自定义的action,通过自定义的action可以应用内调用 -->
                <action android:name="*.intent.action.SHORTCUT" />

                <category android:name="android.intent.category.LAUNCHER" />
                <!-- 必须加上这个,否则无法直接使用自定的action -->
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

创建快捷方式:

    // 自定义action
    Intent intent = new Intent("*.intent.action.SHORTCUT");
    Bundle bundle = new Bundle();
    // 可以根据传递参数执行相应操作
    bundle.putString("needgoto", "*activity");
    intent.putExtras(bundle);
    // 创建桌面快捷方式
    Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
    // 是否允许重复创建
    shortcutintent.putExtra("duplicate", true);
    // 需要显示的名称
    shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name_1));
    // 快捷图片
    Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher);
    shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
    // 点击快捷图片,运行的程序主入口
    shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);
    // 发送广播执行操作
    sendBroadcast(shortcutintent);


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。