我在安装应用程序时使用以下代码创建快捷方式:
在 AndroidManifest.xml 中:
<!-- for creating a shortcut in the home screen -->
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
在主要活动的 onCreate() 中:
// an Intent to create a shortCut
Intent shortcutIntent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
//repeat to create is forbidden
shortcutIntent.putExtra("duplicate", false);
//set the name of shortCut
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, this.getString(R.string.app_name));
//set icon
Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher);
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
//set the application to lunch when you click the icon
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT
, new Intent(getApplicationContext() , MainActivity.class));
//sendBroadcast,done
sendBroadcast(shortcutIntent);
这些代码在 Android 4.0.4 中运行良好,它会在第一次创建快捷方式并发送祝酒词,说明在第一次安装后快捷方式已经存在。但在 Android 4.2.2 中,我可以通过单击返回键并再次进入应用程序来创建许多重复的快捷方式。
有什么方法可以在这两个版本的 Android 上工作吗?
提前致谢 :)