我知道这并没有被记录下来并且不会在每个设备上都起作用,但我看到越来越多的应用程序在安装后将它们的快捷方式放在主屏幕上。
发现了一堆如何做到这一点的代码块,但对于我来说它们不太合适。
这就是我目前所拥有的。
需要在清单文件中添加一个权限。
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
创建应该被调用的活动的Intent。例如(来自cgeek):
Intent shortcutIntent = new Intent();
shortcutIntent.setClassName("com.example.androidapp", "SampleIntent");
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
创建快捷方式本身
Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Shortcut Name");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, R.drawable.icon));
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
context.sendBroadcast(addIntent);
我的问题是:为了在.apk安装后添加快捷方式,这段代码应该放在哪里?我在启动器活动中尝试了这段代码,但每次应用程序启动时都会创建一个不可用的快捷方式(另一个故事)。