我想开始预编译""用户单击通知时的堆栈活动。我试过了:
Intent[] intents = new Intent[]{
new Intent(this, ActivityA.class)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK),
new Intent(this, ActivityB.class)
PendingIntent pendingIntent = PendingIntent.getActivities(this, 0, intents, PendingIntent.FLAG_ONE_SHOT);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this);
notificationBuilder.setContentIntent(pendingIntent)
如同documentation所述,我已将NEW_TASK标志添加到第一个意图中。无论如何,当我点击通知时,ActivityB启动并按下我没有堆栈(没有ActivityA)并且应用程序已关闭。
答案 0 :(得分:1)
有一种方法。
来自通知 - >重定向到ActivityA,如下所示
Intent intent = new Intent(context.this,ActivityA.class);
intent.putExtra("isFromNotification",true);
On ActivityA - > onCreate方法 - >在setContentView()方法之后写下这行
boolean isFromNotification = getIntent().getBooleanExtra("isFromNotification",false);
if (isFromNotification){
Intent intent = new Intent(ActivityA.this,ActivityB.class);
startActivity(intent);
}
注意:这样做会立即重定向到ActivityB,同时在堆栈上保存ActivityA。因此,当用户按下后退按钮时,它将重定向到ActivityA。