Ответ 1
В этом примере он возвращает intent
в setResult(...)
. Я считаю, вам нужно запустить sendBroadcast(intent)
, чтобы запустить установку ярлыка.
Когда пользователь устанавливает приложение для Android, в меню приложений создается значок запуска. Многие пользователи, с которыми я говорю, ожидают, что при установке приложения значок должен появиться автоматически на главном экране ( "стартовая панель" ).
Многие приложения достигают этого как-то. Мое предпочтение заключалось бы в том, чтобы при установке появилось окно с запросом пользователя "Вы хотите добавить ярлык?" Если это невозможно, любой код, который автоматически добавляет ярлык, будет делать.
Android дает кучу кода здесь: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/LauncherShortcuts.html Подразумевается, что добавление этого кода (и связанного с ним xml) в ваш проект сделает трюк. Но это не так, как я хочу. Кажется, что представленный код является пассивным, и мне нужно каким-то образом вызвать его.
Итак, мой вопрос:
Как я могу инициировать установку ярлыка и как я могу убедиться, что это происходит только один раз, предпочтительно вызванный каким-то событием "установка приложения"?
PS: Усложняющим фактором является то, что я создаю свое приложение с помощью PhoneGap, что означает, что основным видом деятельности является не "Активность", а "DroidGap".
В этом примере он возвращает intent
в setResult(...)
. Я считаю, вам нужно запустить sendBroadcast(intent)
, чтобы запустить установку ярлыка.
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);
Класс DroidGap расширяет активность, поэтому вы можете просто добавить код из указанной вами ссылки, чтобы добавить ярлык.