Я знаю, что это не задокументировано и не будет работать на всех устройствах, но я вижу, что все больше и больше приложений размещают свои ярлыки на главном экране после их установки. Нашел кучу фрагментов кода, как это сделать, но для меня они не подходят друг другу. Это то, что у меня есть.
Требуется разрешение в манифесте.
Создайте намерение действия, которое должно быть вызвано. Пример (из cgeek):
Intent shortcutIntent = new Intent ();
shortcutIntent.setClassName ("com.example.androidapp", "SampleIntent");
shortcutIntent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP);
Создать ярлык
Intent addIntent = new Intent ();
addIntent.putExtra (Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra (Intent.EXTRA_SHORTCUT_NAME, "Имя ярлыка");
addIntent.putExtra (Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext (context, R.drawable.icon));
addIntent.setAction ("com.android.launcher.action.INSTALL_SHORTCUT");
context.sendBroadcast (addIntent);
Мои вопросы: Куда должен идти этот код, чтобы ярлык был добавлен после установки .apk? Я пробовал этот код в программе запуска, он создает неработающий (другая история) ярлык при каждом запуске приложения.