原理:通过代码向 Launcher 中的广播接收者发送广播来创建快捷图标。
首先要声明的权限是:
<!--添加图标的权限--><uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
//创建用于发送广播的intentIntent 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, "快捷方式的名称");// 指定快捷图标激活哪个activityIntent 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);