Я знаю, что это не задокументировано и не будет работать на каждом устройстве, но я вижу, что все больше приложений размещают свои ярлыки на главном экране после их установки. Нашел кучу фрагментов кода, как это сделать, но для меня они не подходят друг к другу. Это то, что я получил сейчас.
-
Требуется разрешение в манифесте.
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
-
Создайте намерение действия, которое нужно вызвать. Пример (из 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, "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? Я пробовал этот код в активности запуска, он создает прерывистую (другую историю) ярлык при каждом запуске приложения.