Используйте функцию ярлыков Android для создания ярлыков, НО исключайте их из списка виджетов приложения - PullRequest
0 голосов
/ 13 мая 2019

Мое приложение позволяет пользователю создавать ярлыки для доступа к определенным экранам с главного экрана устройства. Это работает нормально, но проблема в том, что это автоматически добавляет новую запись в список виджетов приложения. Конечно, этот недавно добавленный виджет не работает должным образом. Можно ли создать ярлык, не добавляя его в список виджетов?

Я использую это разрешение

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

И добавил этот фильтр в Манифест для моей активности

    <intent-filter>
        <action android:name="android.intent.action.CREATE_SHORTCUT" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

Тогда вот код создания ярлыка

private void ShortcutIcon(){

    Intent shortcutIntent = new Intent(getApplicationContext(), MainActivity.class);
    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, "Test");
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher));
    addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
    getApplicationContext().sendBroadcast(addIntent);
}
...