Intereting Posts
Как отправить html-контент с изображением через почтовый клиент по умолчанию для Android? RxJavaCallAdapterFactory не может быть преобразован в Factory Android: как периодически отправлять местоположение на сервер Xamarin Android – отключить моно журналы Как использовать секретные ключи из Android-хранилища IllegalArgumentException: pointerIndex выходит за пределы диапазона от SwipeRefreshLayout Почему getDrawable () не работает на некоторых устройствах Android? Как вращать выделение с включенным сглаживанием Расширение класса Android для добавления dropshadow Макет деятельности: класс фрагмента: vs android: атрибуты имени Поставщик контактов Android получает только телефонные контакты со всеми электронными письмами Проблема с программным добавлением Word для Word Prediction Facebook Android SDK v4.0.0 Проблема с ShareDialog NullPointerException Как структурирована Android-Instagram? Как перемещать camra на определенный маркер в google maps v2 в android

Дополнительные намерения дублируются при использовании FLAG_UPDATE_CURRENT в PendingIntent при создании уведомлений об андроидах

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

Notification notification = new Notification(R.drawable.applicationicon, Resources.getString("NewSaleNotification", context), System.currentTimeMillis()); // Hide the notification after its selected notification.flags |= Notification.FLAG_AUTO_CANCEL; Intent intent = new Intent(context, MainApplication.class); intent.putExtra("saleid", saleid); // to be sure the activity won't be restarted intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); notification.setLatestEventInfo(context, SaleTitle, SaleMessage, pendingIntent); notificationManager.notify(saleid, notification); 

Когда я создаю PendingIntent, у меня есть 4 варианта: FLAG_CANCEL_CURRENT, FLAG_NO_CREATE, FLAG_ONE_SHOT и FLAG_UPDATE_CURRENT.

Определение последнего ( http://developer.android.com/reference/android/app/PendingIntent.html#FLAG_UPDATE_CURRENT ) – это то, что я хочу сделать, но оно не работает должным образом. Если я создам 2 уведомления, они оба имеют тот же самый «saleid», который является последним. Как я могу сделать несколько уведомлений с разными «saleid»?

Solutions Collecting From Web of "Дополнительные намерения дублируются при использовании FLAG_UPDATE_CURRENT в PendingIntent при создании уведомлений об андроидах"

Но он не работает так, как должен

Да.

Если я создам 2 уведомления, они оба имеют тот же самый «saleid», который является последним.

Это то, о чем говорит документация .

Как я могу сделать несколько уведомлений с дополнительной продажей differents?

Вариант №1: Поместите другую строку действий в каждое из ваших Intents . Это сделает их разными (с точки зрения filterEquals() ) и предоставит им отдельные PendingIntents . Однако, поскольку вы указываете компонент в Intent ( MainApplication.class ), действие не повлияет на то, как перенаправляется Intent .

Вариант №2: используйте разные requestCode (2-й параметр) для getActivity() . Хотя это задокументировано как «в настоящее время не используется», это приводит к PendingIntent различных PendingIntent объектов PendingIntent . Однако, поскольку это поведение недокументировано, оно может измениться в будущем.