Мы включили ярлыки для двух экранов нашего приложения. Используя манифест, мы инициализировали действие, которое ссылается на ярлык, как показано ниже.
<activity
android:name=".ui.shortcuts.ShortCut1"
android:screenOrientation="portrait"
android:icon="@drawable/shortcut1"
android:label="@string/app_shortcut_name1"
android:theme="@style/AppLightTheme">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.CREATE_SHORTCUT" />
</intent-filter>
</activity>
Из кода я включил ярлыки следующим образом.
Intent shortcutIntent = null;
shortcutIntent = new Intent(ApplicationNekt.getContext(), ShortCut1.class);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Intent intent = new Intent();
intent.putExtra("duplicate", false);
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, ApplicationNekt.getContext().getString(R.string.app_shortcut_name1));
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(ApplicationNekt.getContext(), R.drawable.shortcut1));
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
ApplicationNekt.getContext().sendBroadcast(intent);
Теперь в средствах запуска Nova и Action они отображают ярлыки в разделе ярлыков со значком и текстом, которые я указал в манифесте. Если я нажму и удержу , я смогу поместить значок на главную вкладку. Сразу после этого открывается моя целевая активность. Но когда я возвращаюсь на главный экран телефона, значок ярлыка, созданный на предыдущем шаге, удаляется.
Я что-то упустил здесь?