android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序

 

在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity,

结果总是存在好几个同样的activity,就算要返回的activity正在前台,点击消息后也会重新打开一个一样的activity,返回好几次才能退出,

而不能像qq之类的点击通知栏消息回到之前存在的activity,如果存在就不再新建一个activity

说的有点绕,如果是遇到此类问题的肯定能懂,没遇到过的估计看不懂我这混乱的表达了.....

经过查阅资料,通过如下方式解决了,

其实主要功劳就是第10行,

public void shownotification(String msg){NotificationManager barmanager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);Notification notice = new Notification(android.R.drawable.stat_notify_chat,"服务器发来信息了",System.currentTimeMillis());notice.flags=Notification.FLAG_AUTO_CANCEL;Intent appIntent = new Intent(Intent.ACTION_MAIN);//appIntent.setAction(Intent.ACTION_MAIN);appIntent.addCategory(Intent.CATEGORY_LAUNCHER);appIntent.setComponent(new ComponentName(this.getPackageName(), this.getPackageName() + "." + this.getLocalClassName())); appIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);//关键的一步,设置启动模式PendingIntent contentIntent =PendingIntent.getActivity(this, 0,appIntent,0);notice.setLatestEventInfo(this,"通知","信息:"+msg, contentIntent);barmanager.notify(STATUS_BAR_ID,notice);}

转载于:https://www.cnblogs.com/yaya-Android/p/4098960.html

android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序相关推荐

  1. Android开发之Intent.Action

    1 Intent.ACTION_MAIN String: android.intent.action.MAIN 标识Activity为一个程序的开始.比较常用. Input:nothing Outpu ...

  2. Android开发之2016_最流行的Android组件、工具、框架大全

    Android 是目前最流行的移动操作系统之一. 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件. 本文试图将目前流行的组件收集起来以 ...

  3. android开发之Monkey测试_自动化测试_看看你的应用够不够健壮

    上篇提到让应用自动抓取Crash日志提交到服务器,如果发布之前没有经过严格测试(个人练手做的一些小应用),会发现有很多异常都是显而易见的错误,只是没有严格测试忽略了而已,其实android自带了一个自 ...

  4. android之json解析优化,Android开发之json解析

    目前正在尝试着写app,发现看懂代码和能写出来差距很大,最关键的是java基础比较的差,因为只会python,java基础只学习了一个礼拜就过了.感觉java写出来的代码不如python简单明了. 上 ...

  5. Android开发之SlidingDrawer(一)

    Android开发之SlidingDrawer(一) /* *  Android开发之SlidingDrawer *  北京Android俱乐部群:167839253 * Created on: 20 ...

  6. Android开发之TextView高级应用

    Android开发之TextView高级应用 我们平时使用TextView往往让它作为一个显示文字的容器,但TextView的功能并不局限于此.以下就和大家分享一下TextView的一些使用技巧. A ...

  7. Android开发之旅:组件生命周期(二)

    引言 应用程序组件有一个生命周期--一开始Android实例化他们响应意图,直到结束实例被销毁.在这期间,他们有时候处于激活状态,有时候处于非激活状态:对于活动,对用户有时候可见,有时候不可见.组件生 ...

  8. Android开发之旅:应用程序基础及组件

    --成功属于耐得住寂寞的人,接下来几篇将讲述Android应用程序的原理及术语,可能会比较枯燥.如果能够静下心来看,相信成功将属于你. 引言 为了后面的例子做准备,本篇及接下来几篇将介绍Android ...

  9. Android开发之旅:HelloWorld项目的目录结构

    引言 前面Android开发之旅:环境搭建及HelloWorld,我们介绍了如何搭建Android开发环境及简单地建立一个HelloWorld项目,本篇将通过HelloWorld项目来介绍Androi ...

最新文章

  1. FreeRTOS介绍
  2. nginx反向代理nexus私服
  3. 调用c++_WebAssembly: 在C代码中调用JS的函数
  4. 非公平锁和公平锁在reetrantlock里的实现过程是怎样的
  5. redis安装,主从集群
  6. boost::gil::bit_aligned_pixel_reference用法的测试程序
  7. js在ie追加html,如何使用JavaScript将属性添加/更新到HTML元素?
  8. php前后端分离两个域名访问,Laravel 5.4前后台分离,通过不同的二级域名访问方法...
  9. git pull远程master_github与Git实用操作图解之一
  10. [php基础]Mysql日期函数:日期时间格式转换函数详解
  11. android 全屏FullScreen的配置
  12. BackTrack5(BT5)安装教程及BT5支持网卡列表
  13. 在VMware下安装中标麒麟操作系统7.0以及Neokylin基础常用知识
  14. 通俗易懂的Latex教程文档
  15. echarts图表 tooltip提示框,xAxis X轴,formatter自定义
  16. 2017年保荐代表人胜任能力考试辅导教材 投资银行业务
  17. 百钱买百鸡问题,买鸡问题的解决方案
  18. 【论文翻译】The Quantum Internet: Networking Challenges in Distributed Quantum Computing
  19. Day1作业2:多层菜单查询
  20. linux多窗口切换,linux screen 多窗口命令分析

热门文章

  1. LeetCode-笔记-112、路径总和
  2. rust如何进枪战服_天龙八部怀旧服九大门派详细打造攻略——少林篇
  3. 别再纠结线程池大小/线程数量了,没有固定公式的
  4. Dockerfile ENV和ARG的区别与应用
  5. NSURLSession简介与入门
  6. RectF Rect用法
  7. Python接口自动化测试框架(基础篇)-- 常用数据类型Number
  8. linux文件自动删除,自动删除文件脚本(Linux shell脚本)
  9. excel2007无法加载mysql_Excel2007中进行无法安装加载项的解决方法
  10. 非关系型数据库-NoSQL(Redis)