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);


posted @ 2016-04-23 21:38  yxwkaifa  阅读(1683)  评论(0编辑  收藏  举报