Android 带有返回栈功能的通知 Notification
以前我们实现通知栏功能跳转时一般会先启动主Activity,然后再启动到相应的目标Activity,否则如果直接用Notification的PendingIntent启动目标activity,然后按back键回会返回到上个页面,如果这时候栈顶的activity并非我们自己的app,这显然不是我们想要结结果,其实android官方的实现方式已经有带有返回栈功能的实现方式。其实现方法如下:
其关键代码如下:
步骤1.
Intent resultIntent =new Intent(this, SampleActivity.class);//先创建notificaion要跳转的目标activity的intent
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(SampleActivity.class);//然后创建返回栈并添加目标activity到栈
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,
PendingIntent.FLAG_UPDATE_CURRENT);//生成PendingIntent
mBuilder.setContentIntent(resultPendingIntent);//设置通知关联
步骤2.
必须在AndroidManifest.xml中注册目标Activity时添加 parentActivityName属性,属性值为返回时的主Activity。
完成这两步就可以实现带有导航功能的通知栏了。
附上Demo:Notification Demo