Дублирование закрепленного ярлыка с помощью Менеджера ярлыков - PullRequest
1 голос
/ 15 мая 2019

Я пытаюсь создать закрепленный ярлык на домашнем экране моего использования ShortcutManager.Я могу создать закрепленный ярлык, используя следующий код:

Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri.parse("www.google.com"));
if (ShortcutManagerCompat.isRequestPinShortcutSupported(context)){
    ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(context, "#1")
    .setIntent(i)                
    .setShortLabel("label")                  
    .setIcon(IconCompat.createWithResource(context, R.drawable.ic_launcher))
    .build();

   ShortcutManagerCompat.requestPinShortcut(context, shortcutInfo, null);
}else{
    L.v("Shortcut", "Pinned shortcuts are not supported!");
}

У меня возникли две проблемы:

  1. Нет проверки на наличие дублирующихся ярлыков.Каждый раз, когда я нажимаю на кнопку, чтобы создать ярлык, он каждый раз создает ярлык, и домашний экран заполняется этими ярлыками.Есть ли способ проверить, существует ли ярлык, как: -
Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri.parse("www.google.com"));

Intent installer = new Intent();        installer.putExtra("android.intent.extra.shortcut.INTENT", i);          installer.putExtra("android.intent.extra.shortcut.NAME", "Shortcut name");          installer.putExtra("android.intent.extra.shortcut.ICON_RESOURCE", Intent.ShortcutIconResource.fromContext(getApplicationContext() , R.drawable.ic_launcher));
installer.putExtra("duplicate", false);
installer.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
sendBroadcast(installer);

Проблема с этим фрагментом кода в том, что он не работает в Android 8.0 и выше, но обрабатывает дублирование ярлыкаправильно, используя следующий код: -

installer.putExtra("duplicate", false);

Я хочу добиться того же, используя менеджер ярлыков

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

duplicate icon

Я посмотрел на решение, представленное здесь, но пока не повезло: -

Странное дублирование значков приложений в закрепленном ярлыке (Android O)

Есть идеи ??

...