1、添加权限(必须)
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
2、添加快捷键
public static void setupShortcut(Activity activity)
{
Intent shortcutIntent = new Intent(activity, MainActivity.class); //启动首页(launcher Activity)
Intent intent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "hello");//快捷键名字可以任意,不过最好为app名称
Parcelable iconResource = Intent.ShortcutIconResource.fromContext(activity, R.drawable.ic_launcher);
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource);
intent.putExtra("duplicate", false);//不允许重复创建
activity.sendBroadcast(intent);//发送广播创建快捷键
}
3、快捷键也可以指向非Launcher activity,只需要在AndroidManifest中对应的Activity 中添加如下配置
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" />
<intent-filter>
例如可以将2 中的MainActivity 改为任意其他Activity,同时在AndroidManifest中对应添加上述intent-filter就可以了。