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

 

你可能感兴趣的:(android)