PendingIntent中的TaskStackBuilder无法正常工作

时间:2015-07-18 13:01:50

标签: android android-activity android-notifications back-stack

我正在尝试为使用此代码按下的通知重新创建一个后台堆栈:

Intent firstIntent = new Intent(this, First.class);  
Intent secondIntent = new Intent(this, Second.class);    
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);

 stackBuilder.addNextIntent(firstIntent);
 stackBuilder.addNextIntent(secondIntent);
 PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); 
 Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

 NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
                                    .setSmallIcon(R.mipmap.ic_launcher)
                                    .setContentTitle(fromName)
                                    .setContentText(message)
                                    .setAutoCancel(true)
                                    .setSound(defaultSoundUri)
                                    .setContentIntent(pendingIntent);

  NotificationManager notificationManager =
                                    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

  notificationManager.notify(0 ,notificationBuilder.build());

但它不起作用。当我按下通知时,第二个活动被打开但按下后退按钮,活动结束,而我想回到第一个活动。

在AndroidManifest中设置parentActivityName不起作用。

有什么问题?

由于

1 个答案:

答案 0 :(得分:8)

尝试更改

PendingIntent.FLAG_UPDATE_CURRENT

PendingIntent.FLAG_CANCEL_CURRENT