Android Notification保留导航功能

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文出处: http://www.androidchina.net/6174.html Notification在...
    木木00阅读 14,249评论 3 32
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,251评论 25 709
  • 一、什么是Notification? Notification是一种有全局效果的通知,可以显示在系统通知栏。以下内...
    douhao1333阅读 4,026评论 0 1
  • 连续第九篇读书感悟 温柔大度不斤斤计较的人总给人一种如沐春风般的感觉。然而并不是所有的人都能做到大度这一点...
    钟离冰琪阅读 1,220评论 0 0
  • 如何理解斜杠?斜杠就是兼职吗,斜杠就是样样精通吗?如果以兼职或各方面都很牛逼作为成为斜杠的目标,我觉得这有点本末倒...
    陌生如我阅读 3,233评论 0 1

友情链接更多精彩内容