Intereting Posts
ACTION_CANCEL при касании Как получить значения RGB растрового изображения в android Как отправить файл в Android с мобильного устройства на сервер с помощью http? Продолжайте получать 404 для apple-touch-icon.png Реагировать на native errorTimeout на получение списка устройств. При запуске hello world на ubuntu Ошибка: не удается запустить apapt Почему adb возвращается в автономный режим после строки устройства? «Нет, отсутствует функция: WATCH», когда я пытаюсь запустить приложение для смартфонов с помощью приложения для ношения? Вы не приняли лицензионные соглашения следующих компонентов SDK CollapsingToolbarLayout: изменение цвета кнопки дома при расширении Можно ли вызвать stopSelf () в Service.onStartCommand? HTML: Почему браузер Android показывает «Go» вместо «Next» на клавиатуре? Как сделать фоновое изображение приложения Android Где найти установленный пользователем сертификат android 4.0 и выше Как изменяется доступ к хранилищу на Android 6?

Дополнительные намерения дублируются при использовании 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 . Однако, поскольку это поведение недокументировано, оно может измениться в будущем.