андроид незаконченная поглощенная проблема уведомления

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

Intent showIntent =new Intent(context, notificationreceiver.class);
    showIntent.putExtra("details", alarmname);

PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
        showIntent, 0); 

    notification.setLatestEventInfo(context, "The event is imminent",
            alarmname, contentIntent);

И получатель уведомления

Bundle b = getIntent().getExtras();
    String eventname = b.getString("details");
    details.setText(eventname);

Дополнительные "детали" являются тем же к каждому в следующий раз, когда уведомление происходит вместо того, чтобы иметь другое значение. Пока я не установил намерения, я уверен, что правильное значение переходит к "деталям", таким образом, это - проблема получения первого намерения каждый раз, я нажимаю любое уведомление. Как я могу добраться, запускают корректные намерения? Надежда я был так ясен, как я мог Спасибо!

72
задан spagi 9 June 2010 в 19:11
поделиться

1 ответ

Проблема в том, что когда я создаю больше чем один будильник, то активность запускается из уведомления получает те же дополнения, что и у первого.

Верно.

Как заставить его запустить правильные намерения?

Это зависит от того, есть ли у вас два будильника, которые будут зарегистрированы одновременно, или нет.

Если нет, вы можете использовать FLAG_ONE_SHOT или один из других PendingIntent флагов , чтобы ваш второй PendingIntent использовал новые дополнительные функции. .

Если, однако, у вас будут зарегистрированы сразу два сигнала тревоги с разными Intent extras, вам нужно будет сделать два Intents более существенными различиями, так что filterEquals () возвращает false при сравнении двух. Например, вы можете вызвать setData () или setAction () и указать разные значения для каждого Intent .

68
ответ дан 24 November 2019 в 12:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: