Уведомление Android Intent.putExtra - PullRequest
       15

Уведомление Android Intent.putExtra

3 голосов
/ 18 февраля 2012

У меня есть уведомление, что при нажатии должно быть запущено действие, которое, в свою очередь, запускает диалоговое окно.Это все работает, но диалоговое окно извлекает информацию из мысли уведомления Intent.putExtra ().Проблема в том, что он всегда извлекает самую свежую информацию из putExtra, поэтому, если пользователь щелкает более свежее уведомление, он получает информацию из более старого.Есть ли способ указать, какой putExtra идет с каким уведомлением?

Вот код, который я использую: ID - это int, а UserText - строка:

Intent notificationIntent = new Intent(this, DialogActivity.class);
notificationIntent.putExtra("Text", UserText).putExtra("NotifyID", ID);

И в DialogActivity

Bundle extras = getIntent().getExtras();
String test;
int NID;
if (extras != null) {
test = extras.getString("Text");
NID = extras.getInt("NotifyID");
}

Проблема в том, что это всегда "Text" и "NotifyID" из первого уведомления, независимо от того, какое уведомление выбирает пользователь.

1 Ответ

3 голосов
/ 18 февраля 2012

Используйте removeExtra. В вашем случае:

Bundle extras = getIntent().getExtras();
String test;
int NID;
if (extras != null) {
    test = extras.getString("Text");
    NID = extras.getInt("NotifyID");
    getIntent().removeExtra("Text");
    getIntent().removeExtra("NotifyID");
}
...