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

在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity,结果总是存在好几个同样的activity,就算要返回的activity正在前台,点击消息后也会重新打开一个一样的activity,返回好几次才能退出,而不能像qq之类的点击通知栏消息回到之前存在的activity,如果存在就不再新建一个activity说的有点绕,如果是遇到此类问题的肯定能懂,没遇到过

大家好,又见面了,我是全栈君。

在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到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://javaforall.net/121394.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 文本相似度度量_文本相似度分析

    文本相似度度量_文本相似度分析文本相似度度量就是衡量两个文本相似度的算法。主要包括两个步骤:将文本表示为向量(文本表示);衡量两个向量的相似度(相似度度量)。1文本表示文本表示也包括两部分:文本切分粒度(按什么粒度切分得到文本特征),如何构造特征(如何将文本特征转化成数值特征)。1.1文本切分粒度可以按照字,词,n-gram对文本进行切分;当文本是长文本时,也可以利用主题模型提取关键词,来减少词的维度。1.2文本特征构建特征构建就是如何将词袋模型中的词转化成向量表示。可以用one-hot,对应位置的权重可以是TF或者.

    2025年7月20日
    5
  • 每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)[通俗易懂]

    每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)[通俗易懂]五分钟让你深入了解分布式系统中常用的一致性哈希算法

    2022年7月27日
    8
  • wget(1.11.4) for win「建议收藏」

    wget(1.11.4) for win「建议收藏」下载wget(1.11.4)forwin安装添加wget环境变量,这样使用就更方便了,右键计算机->属性->高级系统设置->高级->环境变量->选中PATH->编辑,在最后添加;C:\ProgramFiles(x86)\GnuWin32\bin下载文件wget网址而要让档案自动储存到指令的目录下,则需要借用-P这个参数,可以使用以下的指令wge…

    2022年6月3日
    30
  • SQL文件导入Oracle数据库

    SQL文件导入Oracle数据库直接复制SQL文件至pl/sql中执行,若sql文件过大会直接导致数据库卡死,未避免数据库卡死,可直接使用pl/sql工具提供的导入表功能将sql文件直接导入数据库表中1.如下图所示:链接数据库,选择工具–》导入表2.如下图示:选择SQL导入—使用命令窗口–》选择要导入的sql文件–》点击导入按钮3.如下图所示:若提示Done,则表示导入成功,导入成功后需要点击com…

    2022年10月2日
    3
  • UPS不间断电源原理_不间断电源ups原理

    UPS不间断电源原理_不间断电源ups原理扫描以下二维码加入学习群

    2025年5月31日
    3
  • 简述方差分析_多元方差分析

    简述方差分析_多元方差分析本文介绍单因素方差分析,双因素无交互项的方差分析,双因素有交互项的方差分析,并分别附带有MATLAB代码

    2022年10月9日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号