Android 在主屏幕中安装启动器图标一次

Android 在主屏幕中安装启动器图标一次,android,cordova,launcher,Android,Cordova,Launcher,当用户安装Android应用程序时,会在应用程序菜单中创建启动程序图标。我接触的许多用户都希望,当他们安装应用程序时,主屏幕上会自动出现一个图标(“启动板”) 很多应用程序都以某种方式实现了这一点。我的首选是在安装时显示一个窗口,询问用户“是否要添加快捷方式?”如果不可能,任何自动添加快捷方式的代码都可以 Android在这里给出了一系列代码: 这意味着将此代码(以及相关的xml)添加到您的项目中就可以做到这一点。但它没有我想要的效果。似乎提供的代码是被动的,我需要以某种方式触发它 所以我的问题

当用户安装Android应用程序时,会在应用程序菜单中创建启动程序图标。我接触的许多用户都希望,当他们安装应用程序时,主屏幕上会自动出现一个图标(“启动板”)

很多应用程序都以某种方式实现了这一点。我的首选是在安装时显示一个窗口,询问用户“是否要添加快捷方式?”如果不可能,任何自动添加快捷方式的代码都可以

Android在这里给出了一系列代码: 这意味着将此代码(以及相关的xml)添加到您的项目中就可以做到这一点。但它没有我想要的效果。似乎提供的代码是被动的,我需要以某种方式触发它

所以我的问题是:

我如何触发快捷方式的安装,如何确保它只发生一次,最好是由某种“应用程序安装”事件触发

附言:
一个复杂的因素是,我正在使用PhoneGap构建我的应用程序,这意味着主要活动不是“活动”,而是“DroidGap”

DroidGap类扩展了活动,因此您只需从提供的添加快捷方式的链接中添加代码即可

在本例中,它返回
setResult(…)
中的
intent
。我相信您需要运行
sendBroadcast(intent)
来触发快捷方式的安装。

Simon,我尝试从链接添加代码。那没用。我包括LaunchShortcuts.java和LaunchShortcuts.xml,但在安装我的应用程序时什么都没有发生。当你说“从链接中添加代码”时,也许你比我有一个更具体的想法?Triad,谢谢你的评论。我试过在App.java(主要活动)和launchestshortcuts.java本身的不同位置运行sendBroadcast(intent)。没有结果。嗯,您的
AndroidManifest.xml中是否也有
?我还注意到示例代码没有调用
intent.setAction(intent.ACTION\u CREATE\u快捷方式)
,这也是必要的。Hii@triad我实现了同样的功能,并成功创建了图标。现在我无法使用快捷方式单击启动应用程序。任何建议都将不胜感激。结果表明,通过Android Market安装的应用程序将自动安装启动程序快捷方式,如果您包括安装快捷方式权限。但是,在发布应用程序之前,你无法判断:即使通过其他方式从APK下载到手机上进行安装,也无法做到这一点。
    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);