其他分享
首页 > 其他分享> > Android通知Intent.putExtra

Android通知Intent.putExtra

作者:互联网

我收到一条通知,当按下该按钮时应启动一个活动,该活动又将启动一个对话框.一切正常,但是对话框从通知思想Intent.putExtra()中提取信息.问题是,它总是从putExtra中获取最新信息,因此,如果用户单击较新的通知,则他们将从较旧的通知中获取信息.有没有办法确定哪个putExtra与哪个通知一起使用?

这是我正在使用的代码:
ID是一个整数,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");
}

问题在于,无论用户选择哪种通知,这些始终是第一个通知中的“文本”和“ NotifyID”.

解决方法:

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

标签:android-intent,notifications,android
来源: https://codeday.me/bug/20191201/2082901.html