android判断activity是否加载
来源:互联网 发布:qq群地址优化 编辑:程序博客网 时间:2024/04/24 18:39
聊天应用上常会有好友列表,好友对话列表,逻辑一般是通过点击好友列表上的好友跳转到聊天页面。我们假设好友列表的Activity为A,好友对话列表的Activity为B。正常逻辑是A->B;在B中onReturn()方法是返回到A;
当聊天应用在外台运行时,有两种情况,一种是点击home键导致程序onPause(),另外一种是退出使得程序的main.activity也应用了finish()。home键的时候main.activity仍然在栈中,这种情况和程序在其它页面时收到通知,点击通知栏直接进入B的情况是一致的;在B中能出只要finish()就可以了,页面会直接返回到之前一个页面;但有一种情况就是当main.finish()后,如果B也是直接finish(),则程序直接回到桌面了;这样的体验就不好,感觉B是一个单独的应用了一样,这时我们可以通过ActivityManager来获取当前应用活动的任务信息,看一下应用的入口Activity是不是RunningTaskInfo中的baseActivity,如果是则代码程序是在运行着的,只需要finish就可以了,否则重新打开应用就好。
Intent mainIntent = new Intent(context, main.class);ActivityManager am = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE);List<RunningTaskInfo> appTask = am.getRunningTasks(1);if (appTask.size() > 0&& appTask.get(0).baseActivity.equals(mainIntent.getComponent())) {finish();} else {startActivity(new Intent(getActivity(), main.class).putExtra(Contracts.KEY_NOTIFY_LAUNCHER, true));finish();}
这种情况是因为页面设计与微信,陌陌的不一样,它们的好友列表下面是一个类似于tabhost的布局,这样通知消息只需要进入到好友列表页面就可以了,再通过好友列表来进入对话页面。从而没有关闭对话页面导致程序直接退出的问题,而是关闭对话页面后回到的是好友页面。
- android判断activity是否加载
- Android判断应用或Activity是否存在
- android 判断activity是否在最上层
- 如何判断android的activity是否运行
- Android判断应用或Activity是否存在
- Android判断应用或Activity是否存在
- android 判断activity是否在最上层
- 如何判断android activity是否运行
- Android判断应用或Activity是否存在
- Android 判断 Activity 是否在前台
- Android判断应用或Activity是否存在
- Android 判断activity是否在最上层
- android webView判断是否加载完成
- 判断Activity是否运行
- android判断某个应用或者activity是否在运行
- (4.2.16.5)Android判断应用或Activity是否存在
- Android应用开发判断一个Activity是否正在运行
- Android如何判断应用或Activity是否存在
- Linux那些事儿之我是Sysfs(2)linux设备底层模型
- Floyd(最短路径问题)
- 项目管理扫盲篇
- C中的volatile用法
- SQLITE3 使用总结
- android判断activity是否加载
- Struts2 自定义标签(JSP视图)实现图形验证功能
- 编写"优美"的SHELLCODE
- android 合并录音文件
- 《Orange's 一个操作系统的实现》读书手记2--- [ 搭建你的工作环境]
- jffs2文件系统制作过程
- WeakReference,SoftReference 和 PhatomReference 浅析
- IBM力挺开源KVM技术
- 数据结构---队列的实现和个人分析