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

Wyt*_*tze 11 android launcher cordova

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

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

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

所以我的问题是:

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

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

小智 5

    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);
Run Code Online (Sandbox Code Playgroud)


tri*_*iad 1

在示例中,它返回intentin setResult(...)。我相信您需要运行sendBroadcast(intent)才能触发快捷方式的安装。