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

时间:2012-02-26 09:53:35

标签: android cordova launcher

当用户安装Android应用时,会在应用菜单中创建启动器图标。我与之交谈的许多用户都希望在安装应用时,主屏幕上会自动出现一个图标(“启动板”)。

许多应用以某种方式实现了这一点。我的偏好是在安装时出现一个窗口,询问用户“你想添加一个快捷方式吗?”如果那是不可能的,那么任何自动添加快捷方式的代码都可以。

Android在这里提供了大量代码:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/LauncherShortcuts.html 暗示将此代码(和相关的xml)添加到项目中就可以了。但它没有我想要的效果。似乎所提供的代码是被动的,我需要以某种方式触发它。

所以我的问题是:

如何触发快捷方式的安装,如何确保只发生一次,最好是由某种“app install”事件触发?

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

3 个答案:

答案 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,因此您只需添加您提供的链接中的代码即可添加快捷方式。