У меня есть некоторые проблемы с новыми ярлыками с Android 7.1.1.Иконки динамических ярлыков Android
Вторая вытачиваемая не имеет идентификатора ресурса. Вот и изображение, и фрагмент кода.
private void createShortcuts(String deviceValue, String tablequery, int pos, String devImage, int index) {
ShortcutManager shortcutManager = mActivity.getSystemService(ShortcutManager.class);
if (index == 0) {
List<ShortcutInfo> scInfo = shortcutManager.getDynamicShortcuts();
Bundle b = new Bundle();
b.putInt("position", pos);
b.putString("table", tablequery);
b.putString("device", devImage);
String add = deviceValue + "_" + tablequery;
ShortcutInfo shortcut = new ShortcutInfo.Builder(mActivity, add)
.setShortLabel(deviceValue) // Shortcut Icon tab
.setLongLabel(deviceValue) // Displayed When Long Pressing On App Icon
.setIcon(Icon.createWithResource(mActivity, R.drawable.ic_shortcut_phone))
.setIntents(new Intent[]{
new Intent(Intent.ACTION_MAIN, Uri.EMPTY, mActivity, MainActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK),
new Intent(Intent.ACTION_DEFAULT, Uri.EMPTY, mActivity, Device_Detail_Activity.class).putExtras(b)
})
.build();
scInfo.add(shortcut);
shortcutManager.setDynamicShortcuts(scInfo);
} else if (index == 1) {
String remove = deviceValue + "_" + tablequery;
shortcutManager.removeDynamicShortcuts(Arrays.asList(remove));
}
}
Что я делаю неправильно?
У вас есть три ярлыки приложений в Скриншот. Ваш код жестко связан, чтобы всегда использовать один и тот же ресурс. Итак, ваш первый и третий ярлыки приложений должны иметь один и тот же значок ... но они этого не делают, не говоря уже о проблеме со вторым. Если вы изменили свое приложение и у вас были выдающиеся ярлыки динамических приложений, вы можете удалить и переустановить приложение или иным образом заставить свой код перестроить все эти ярлыки динамических приложений и посмотреть, поможет ли это. – CommonsWare
Нет, я уже попробовал, у меня есть 2 динамика и один статический ярлык –