Android Notification保留导航功能

Android 带有返回栈功能的通知 Notification

以前我们实现通知栏功能跳转时一般会先启动主Activity,然后再启动到相应的目标Activity,否则如果直接用Notification的PendingIntent启动目标activity,然后按back键回会返回到上个页面,如果这时候栈顶的activity并非我们自己的app,这显然不是我们想要结结果,其实android官方的实现方式已经有带有返回栈功能的实现方式。其实现方法如下:




Android Notification保留导航功能_第1张图片

其关键代码如下:

步骤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.


Android Notification保留导航功能_第2张图片

必须在AndroidManifest.xml中注册目标Activity时添加 parentActivityName属性,属性值为返回时的主Activity。

完成这两步就可以实现带有导航功能的通知栏了。

附上Demo:Notification Demo

你可能感兴趣的:(Android Notification保留导航功能)