Android 悬而未决的意图似乎没有通过额外的程序
我使用的意图是当用户单击推送通知时开始的。我有一些问题,通过一个待定的意图传递额外的。当我这样做时:Android 悬而未决的意图似乎没有通过额外的程序,android,android-intent,android-pendingintent,Android,Android Intent,Android Pendingintent,我使用的意图是当用户单击推送通知时开始的。我有一些问题,通过一个待定的意图传递额外的。当我这样做时: Intent i = new Intent(this, DashboardActivity.class); i.putExtra("pending", true); i.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); PendingIntent pendingIntent = PendingIntent.getActivity(this,0,i,Pen
Intent i = new Intent(this, DashboardActivity.class);
i.putExtra("pending", true);
i.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
PendingIntent pendingIntent = PendingIntent.getActivity(this,0,i,PendingIntent.FLAG_UPDATE_CURRENT);
我期望这种行为:
if (getIntent().getExtras() != null) {
Intent i = new Intent(DashboardActivity.this, B.class);
startActivity(i);
}
我不知道如何摆脱这种局面,所以如果有人能帮助我,我将不胜感激
编辑:
尝试使用
pendingent.FLAG\u UPDATE\u CURRENT
同时添加Intent.FLAG\u ACTIVITY\u SINGLE\u TOP
,这样如果您的活动已经打开,就不会重新创建
将上述两个标志添加到您的意图中
此外,在仪表板活动中,还应实现onNewIntent
@Override
public void onNewIntent(Intent intent){
Bundle extras = intent.getExtras();
if(extras != null){
if(extras.containsKey("pending"))
{
}
}
Hi-kapsym,PendingEvent.FLAG\u UPDATE\u CURRENT已插入PendingEvent,并且在Intent.FLAG\u ACTIVITY\u SINGLE\u TOP之后没有任何更改。请注意,您将启动挂起的Intent的代码放置在何处。它是通知管理器的一部分吗?我的意思是你在触发通知时做了什么?是的,是通知管理器的一部分。在挂起的意图之后是notificationbuilder,它有一个setContentIntent()属性。我已经添加了传入推送通知时激发的代码,并添加了更新。您是实现了onNewIntent方法还是试图在onCreate中获得意图?
@Override
public void onNewIntent(Intent intent){
Bundle extras = intent.getExtras();
if(extras != null){
if(extras.containsKey("pending"))
{
}
}