Android Notification Intent.putExtra

时间:2012-02-18 16:35:26

标签: android android-intent notifications

我有一个通知,按下时应该启动一个活动,然后启动一个对话框。一切正常,但对话框从通知思想Intent.putExtra()中提取信息。问题是,它总是从putExtra中提取最新信息,因此如果用户点击更新的通知,他们会从旧的通知中获取信息。有没有办法决定哪个putExtra与哪个通知有关?

这是我正在使用的代码: ID是一个i​​nt,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 个答案:

答案 0 :(得分:3)

使用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");
}