当用户安装Android应用时,会在应用菜单中创建启动器图标。我与之交谈的许多用户都希望在安装应用时,主屏幕上会自动出现一个图标(“启动板”)。
许多应用以某种方式实现了这一点。我的偏好是在安装时出现一个窗口,询问用户“你想添加一个快捷方式吗?”如果那是不可能的,那么任何自动添加快捷方式的代码都可以。
Android在这里提供了大量代码:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/LauncherShortcuts.html 暗示将此代码(和相关的xml)添加到项目中就可以了。但它没有我想要的效果。似乎所提供的代码是被动的,我需要以某种方式触发它。
所以我的问题是:
如何触发快捷方式的安装,如何确保只发生一次,最好是由某种“app install”事件触发?
PS: 一个复杂因素是我正在使用PhoneGap构建我的应用程序,这意味着主要活动不是“活动”而是“DroidGap”。
答案 0 :(得分:4)
Intent shortcutIntent = new Intent(getApplicationContext(), HomeScreen.class);
shortcutIntent.setAction(Intent.ACTION_MAIN);
Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "AIMS ICD");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.aims));
addIntent.putExtra("duplicate", false);
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
getApplicationContext().sendBroadcast(addIntent);
答案 1 :(得分:1)
在示例中,它返回intent
中的setResult(...)
。我相信你需要运行sendBroadcast(intent)
来触发安装快捷方式。
答案 2 :(得分:0)
DroidGap类扩展了Activity,因此您只需添加您提供的链接中的代码即可添加快捷方式。