【Android】仿QQ功能点击通知栏返回应用,非启动一个新Activity

原创 2015年11月21日 18:05:07

我也要实现一个像QQ一样的功能,点击通知栏上正在后台运行的通知,返回应用的需求:

       整得我够惨啊,众说纷纭,可没一个可以实现的:


网上整理的:

方法一:利用activity的加载方式launchMode来区分,(这里可能需要补充一下activity的4种启动模式了)示例代码如下:

在 Mainfest 里设置 Activity flags android:launchMode="singleTop"
Intent intent = new Intent(this, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);

这样就可以实现!!  可是让我失望啊,没法实现,还是新创建了activity为什么???是否可以尝试一下“singleTask”模式呢。。


方法二:不用launchMode直接利用Intent的Flags特性来玩,示例代码如下:

mIntent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED|Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);

还是不行的。


方法三:

Intent mIntent = new Intent(Intent.ACTION_MAIN);
		mIntent.addCategory(Intent.CATEGORY_LAUNCHER);
		mIntent.setComponent(new ComponentName(context.getPackageName(), DevicesListActivity.class.getCanonicalName())); 
		mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); 

设置actin为action_main

设置category为launcher

设置component为需要启动的activity的类的路径+类名

设置flags为new_task或者reset_task


尝试了好久,终于第三种方式是OK的。应该还有其他方法,尽情去发现吧。



相关文章推荐

关于 android app 返回键模拟 home键 功能的介绍_仿QQ返回键 又重新回到当前界面_锁屏状态 又要重新唤醒

最近有朋友问我 一些 关于 android 应用 退出了界面或应用 后 ,又要回到应用或者某个界面或者退出后且有在锁屏状态 又要重新唤醒(讲分 第一篇,第二篇 分享给大家) : 在这里分享想我的做法,...

Android点击通知栏,不启动新的activity

创建通知栏NotificationManager notificationManager(NotificationManager) this.getSystemService...

Android通知之通知栏点击通知后返回正在运行的程序,而不是一个新Activity

一般的写法,点击通知栏进入的Activity是一个新创建的Activity,而不是原先正在运行的Activity,这和我的想法是背道而驰的。当你点击返回按键退出这个Activity之后,发现,原先正在...

Android通知栏

对于通知栏的使用,Android各个版本其实都有比较大的调整,包括即将发布的Android 7.0版本,通知栏功能上又要有大动作。那么新版本的通知栏API无法兼容老系统这就会是一个很头疼的问题。 为...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

通知栏点击通知后,Intent开启activity产生的问题

Intent intent2 = new Intent("hlj.NewsDetailsActivity"); // intent2.addCategory(Intent.CATEGORY_LAUN...

Android Notification实现推送消息过程中接受到消息端有声音及震动及亮屏提示

在Android Notification状态栏通知一文中,简单实现了消息的推送效果,这里就接着上文说一下,当用户接受到消息时的提示效果// 5-加入震动及声音及亮屏notification.defa...

android开发技巧——仿新版QQ锁屏下弹窗

新版的qq,可以在锁屏下弹窗显示qq消息,正好目前在做的项目也需要这一功能。经过各种试验和资料查找,终于实现,过程不难,但是却有一些地方需要注意。 下面的实现过程。 1,使用Activity,而不是V...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Android实现点击通知栏后,先启动应用再打开目标Activity

情况简述 在开发Android app的过程中,遇到这样一个需求:app中启动一个Service,该Service在独立进程中运行,与服务器保持长连接,将服务器推送过来的消息在通知栏中显示,并设置点...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Android】仿QQ功能点击通知栏返回应用,非启动一个新Activity
举报原因:
原因补充:

(最多只允许输入30个字)