Android 通过程序添加桌面快捷方式

原理:通过代码向 Launcher 中的广播接收者发送广播来创建快捷图标

首先要声明的权限是:

    <!--添加图标的权限-->
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

 

        //创建用于发送广播的intent
        Intent broadcastIntent = new Intent();
        // 指定动作名称
        broadcastIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
        // 指定快捷方式的图标
        Parcelable icon = Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher);
        broadcastIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
        // 指定快捷方式的名称
        broadcastIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "快捷方式的名称");
        // 指定快捷图标激活哪个activity
        Intent activityIntent = new Intent();
        activityIntent.setAction(Intent.ACTION_MAIN);
        activityIntent.addCategory(Intent.CATEGORY_LAUNCHER);
        ComponentName component = new ComponentName(this, MyActivity.class);
        activityIntent.setComponent(component);
        broadcastIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, activityIntent);
        // 只创建一次快捷方式
        broadcastIntent.putExtra("duplicate", false);
        sendBroadcast(broadcastIntent);

 

posted @ 2014-04-24 14:45  无忧之路  阅读(293)  评论(0编辑  收藏  举报
无忧之路