在android中,如何将变量放入待处理的通知意图中?
我正在制作一个聊天应用程序,我有两个主要活动。一个用于联系,第二个用于留言。当用户选择一个联系人时,我将该联系人信息放在intent中,然后开始下一个活动,并像这样从intent中获取该信息在android中,如何将变量放入待处理的通知意图中?,android,Android,我正在制作一个聊天应用程序,我有两个主要活动。一个用于联系,第二个用于留言。当用户选择一个联系人时,我将该联系人信息放在intent中,然后开始下一个活动,并像这样从intent中获取该信息 Intent i = getIntent(); id = i.getIntExtra(EXTRA_ID, -1); reciever = i.getStringExtra(EXTRA_FRIEND); //reciever is friend form whi
Intent i = getIntent();
id = i.getIntExtra(EXTRA_ID, -1);
reciever = i.getStringExtra(EXTRA_FRIEND); //reciever is friend form which i am recieving
这很有效。现在我已经实现了通知,当通知到达时,我将id和receiver放在它的意图中,但是当我单击通知时,新的活动没有启动,而旧的活动重新启动。我对此进行了调试,并确认我正在callNotification
方法中放入新值,但当活动开始时,这些值不是新值,而是旧值
public void callNotification(int id_given,String reciever_given,String msg)
{
Intent actionIntent = new Intent(this, ChatActivity.class);
actionIntent.putExtra(EXTRA_ID,id_given); //value inserted here
actionIntent.putExtra(EXTRA_FRIEND,reciever_given); //value inserted here
PendingIntent contentIntent = PendingIntent.getActivity(this,1,actionIntent,0);
Notification notification = new NotificationCompat.Builder(this, MainActivity.CHANNEL_ID)
.setSmallIcon(R.drawable.ic_baseline_chat)
.setContentText("New Message")
.setContentText(reciever+": "+msg)
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setCategory(NotificationCompat.CATEGORY_MESSAGE)
.setContentIntent(contentIntent)
.setAutoCancel(true)
.build();
notificationManagerCompat.notify(1,notification);
}
因此,我想知道是否有一种特殊的方法可以将值放入待处理的通知意图中?,我想通过您的
actionIntent
设置标志flag\u ACTIVITY\u NEW\u TASK
Intent actionIntent = new Intent(this, ChatActivity.class);
actionIntent.putExtra(EXTRA_ID,id_given); //value inserted here
actionIntent.putExtra(EXTRA_FRIEND,reciever_given); //value inserted here
actionIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
PendingIntent contentIntent = PendingIntent.getActivity(this,1,actionIntent,0)
在
callNotification
中,我必须使用PendingEvent.flag\u UPDATE\u CURRENT标志
而不是像这样的0
PendingEvent contentIntent=PendingEvent.getActivity(this,1,actionIntent,PendingEvent.FLAG_UPDATE_CURRENT) 您是如何读取ChatActivity中的值的?我尝试了您的解决方案,它也起了作用。非常感谢。