在主屏幕上安装启动器图标
当用户安装Android应用程序时,会在应用程序菜单中创建启动器图标。我与之交谈的许多用户预计,当他们安装应用程序时,图标应自动出现在主屏幕(“启动板”)上。在主屏幕上安装启动器图标
许多应用程序以某种方式实现这一点。我的首选是在安装时出现一个窗口,询问用户“你想添加一个快捷方式吗?”如果这是不可能的,任何自动添加快捷方式的代码都会执行。
Android在这里给出了一堆代码:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/LauncherShortcuts.html 暗示将这些代码(和相关的xml)添加到您的项目中将会有效。但它没有我想要的效果。看起来提供的代码是被动的,我需要以某种方式触发它。
所以我的问题是:
如何触发快捷的安装,以及如何确保它只会发生一次,最好由某种“应用程序安装”事件触发的?
PS: 一个复杂的因素是我使用PhoneGap构建我的应用程序,这意味着主要活动不是“活动”而是“DroidGap”。
在该示例中,它返回setResult(...)
中的intent
。我相信你需要运行sendBroadcast(intent)
来触发安装快捷方式。
DroidGap类扩展了Activity,因此您只需从您提供的用于添加快捷方式的链接添加代码即可。
Simon,我尝试添加链接中的代码。这没有用。我包括LauncherShortcuts.java和LauncherShortcuts.xml,但是当我安装我的应用程序时没有任何反应。当你说“从链接添加代码”时,或许你比我更具体的想法? – Wytze 2012-02-27 09:29:00
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);
发现通过Android Market安装的应用会自动安装启动器快捷方式,如果您包含INSTALL_SHORTCUT权限。但是直到你发布你的应用程序,你才能知道:即使从APK下载到你的手机,通过其他方式安装也无济于事。 – Wytze 2012-03-16 14:39:26