Android点击通知栏信息后返回正在运行的程序,而不是一个新Activity
很多网上关于 通知栏的例子都是打开一个新的Activity,代码也很多。
根据那些代码如下
public void shownotification(String tab)
{
NotificationManager barmanager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
Notification msg2=new Notification(android.R.drawable.stat_notify_chat,"信息",System.currentTimeMillis());
PendingIntent contentIntent =PendingIntent.getActivity(this, 0,new Intent(this,MsgClient.class),PendingIntent.FLAG_ONE_SHOT);
msg2.setLatestEventInfo(this,"服务器端发回信息了","信息:"+tab, contentIntent);
barmanager.notify(NOTIFICATION,msg2);
//Toast.makeText(ReceiveMessage.this, tab,Toast.LENGTH_SHORT).show();
//System.out.println(tab);
}
写出来运行之后,发现结果基本可以实现,但是点击通知栏进入的Activity是一个新创建的Activity,而不是原先正在运行的Activity,这和我的想法是背道而驰的。当你点击返回按键退出这个Activity之后,发现,原先正在运行的Activity终于出现了。明显这样是不符合条理的。
如果要实现点击通知图标返回已经运行的程序,贴出关键的部分代码。
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://blog.51cto.com/lwklwc/1356247
Android点击通知栏信息后返回正在运行的程序,而不是一个新Activity相关推荐
- android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序
android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序 在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity, ...
- Android中实现“程序前后台切换效果”和“返回正在运行的程序,而不是一个新Activity”...
ANDROID 一.首先是返回正在运行的程序,而不是新的ACTIVITY. 多网上关于 通知栏的例子都是打开一个新的Activity,代码也很多. 根据那些代码如下 public void s ...
- Delphi 监听安卓(Android)手机通知栏信息
Delphi 监听安卓(Android)手机通知栏信息 因为一些业务需要,我们有时候需要知道手机通知栏显示的信息,然后根据这些信息去处理一些相应的业务逻辑.如:自动监听收到的短信验证码,提取后自动填写 ...
- android点击通知栏跳转,Android 各平台推送通知栏点击处理方案
小米 当收到推送通知并点击时会回调 io.rong.push.platform.mi.MiMessageReceiver#onNotificationMessageClicked 方法 在以上方法中会 ...
- # 2021-01-14 #「VNC」- 在登录后,显示当前桌面(而不是登录新桌面)
问题描述 在大多数场景中,我们搭建 VNC 服务,然后远程登录,输入密码,在登录成功后,将显示新会话(新桌面.新登录). 但是,我们希望连接 VNC 服务后,可以显示当前会话(当前桌面.已经登录桌面) ...
- android 点击通知栏打开activity,Android实现点击通知栏后,先启动应用再打开目标Activity...
情况简述 在开发Android app的过程中,遇到这样一个需求:app中启动一个Service,该Service在独立进程中运行,与服务器保持长连接,将服务器推送过来的消息在通知栏中显示,并设置点击 ...
- android通知栏点击关闭,Android点击通知栏 ,移除通知
通过点击系统通知栏移除 通知只需要一个方法 Notification notification = new Notification(); notification.setAutoCancel(tru ...
- 选择启动虚拟机后,出现不能为虚拟电脑打开一个新任务的报错
经历一天的折腾查资料,看评论,尝试失败,失败在尝试,周而复始,N+1,最后报错弹窗不出现,那种感觉不言而喻... 在其他操作正确的情况下 可以尝试以下两种解决方案 1.不能为虚拟电脑打开一个新任务 - ...
- android点击通知栏消失,手机通知栏不见了怎么办
手机通知栏不见了怎么办 手机通知栏不见了的情况大多出现在安卓的设备中,手机通知栏不见了的情况出现时,大家不要急于刷机操作,或许很多人以刷机来一答了之,其实手机通知栏不见了的问题很好解决,有其他方式重启 ...
- android调用系统播放器后返回的图片旋转了
调用系统拍照后,在某些手机上可能会出现返回的照片旋转了90°/180°的情况,很头疼 使用下面两个工具方法,可以把bitmap方向调整到正确位置 /** * 读取图片属性:旋转的角度 * @param ...
最新文章
- (转) 服务接口统一返回的格式
- DevOps的几个场景
- brew 镜像_Docker牛刀小试:安装及常用的镜像命令和容器命令
- php网页多个倒计时,怎么实现一个页面有多个倒计时同时进行
- akka应用_处理Akka应用程序中的每个事件
- 【渝粤教育】国家开放大学2018年春季 0064-22T20世纪欧美文学 参考试题
- C语言中动态内存分配的本质是什么?
- 小米11全系机型补齐,超大杯压场,但Pro版也不容忽视
- java的第一个程序 ----Hello World
- 移动web点5像素的秘密(转)
- 手机上做c语言作业的软件下载,c语言编程软件手机版下载-C语言编程 安卓版v1.0.2-PC6安卓网...
- Sketch 56.2 Mac中文版
- node 使用 cnpm
- 于的繁体字有几种写法_“龙”的繁体字有几种写法?
- 全面剖析可行性研究报告的内容
- Linux安装openoffice和swftools
- 苏宁易购商品详情API接口
- jbpm工作流动态会签
- Bert 源码(pytorch)超详细的解读
- checkpoint 检测失败原因