android 管理activity
2019独角兽企业重金招聘Python工程师标准>>>
关于怎么一次退出所有Activity网上有很多很多种说法,比如用杀进程的方式:android.os.Process.killProcess(android.os.Process.myPid());这种方式需要添加权限android.permission.KILL_BACKGROUND_PROCESSES; 或者用System.exit(0);退出。
另外一种方法是用ActivityManager的restartPackage()方法;但是我试过了,都没用。。。
还有人说让程序抛出一个异常退出,这种严重影响用户体验的做法我们是极力不推荐的。还有别的方法,如退出的时候发广播通知所有Activity等等。
个人比较推荐的一种方法是自定义一个Activity管理器,来管理所有已打开的Activity,要退出的时候再通过这个管理器来退出所有Activity,经验证,这种方法是可行的,而且效果很好。
新建一个Activity管理类:
public class ActivityCollector {public static List<Activity> activities = new ArrayList<Activity>();public static void addActivity(Activity activity) {activities.add(activity);}public static void removeActivity(Activity activity) {activities.remove(activity);}public static void finishAll() {for (Activity activity : activities) {if (!activity.isFinishing()) {activity.finish();}}}
}
每个activity都加入这个管理类
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);ActivityCollector.addActivity(this);setContentView(R.layout.activity_main);initUI();initNetwork();}
当要退出程序的时候
private long exitTime = 0;@Overridepublic void onBackPressed() {if (System.currentTimeMillis() - exitTime > 2000) {Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();exitTime = System.currentTimeMillis();} else {ActivityCollector.finishAll();}}
转载于:https://my.oschina.net/yongqingfan/blog/724696
android 管理activity相关推荐
- android管理activity顺序,android activity 六个主要函数以及一些调用顺序
Android中一个Activity一般都需要实现六个函数: onCreate(), onStart(), onResume(),onPause(),onStop(),onDestroy(). onC ...
- Android中Activity的启动流程和组织管理方式(Backstack、Task)
前言: Android对Activity的组织管理会引入一些名词概念术语,像Stack.Task等,本文会做简单介绍.Activity的启动.切换以及组织管理会受不同的配置和属性的影响,本文会简单介绍 ...
- Android doc |Getting Started|部分 转载 --管理Activity生命周期
原文 https://developer.android.com/training/basics/activity-lifecycle/index.html 原文被部分改动 管理Activity生命周 ...
- 大叔也说Xamarin~Android篇~Activity之间传递数组
大叔也说Xamarin~Android篇~Activity之间传递数组 原文:大叔也说Xamarin~Android篇~Activity之间传递数组 我们在开发应用程序时,不可能只使用一个Layout ...
- 006 Android之Activity
文章目录 四大组件之Activity Activety概述 Activity的响应事件 Activity之间的数据传递 数据传递实例 Activity的生命周期 Activity声明周期总结 Acti ...
- Android的Activity生命周期模拟程序及解析
当Activity处于Android应用中运行时,它的活动状态由Android以Activity栈的形式管理.当前活动的Activity位于栈顶.随着不同应用的运行,每个Activity都有可能从活动 ...
- 【Android】Activity的四种launchMode
转自:http://blog.csdn.net/liuhe688/article/details/6754323 合抱之木,生於毫末:九層之台,起於累土:千里之行,始於足下.<老子> 今天 ...
- Android应用Activity、Dialog、PopWindow、Toast窗体加入机制及源代码分析
[工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处.尊重劳动成果] 1 背景 之所以写这一篇博客的原因是由于之前有写过一篇<Android应用setCont ...
- Android笔记:Activity
1.Android可视化界面结构: 一个Android应用的可视化界面最底层是Activity,在他之上是一个Window对象,在window之上通常是布局容器,再上面才是用户直接交互的组件( ...
最新文章
- Mybatis分页插件 - 示例
- 任正非说到做到:华为正与美企谈判,授权转让5G技术
- 一次二次开发中的经验与教训(二)
- MapReduce实例(数据去重)
- 《JavaScript专家编程》——第1章 对象和原型 1.1鸟瞰JavaScript
- ssl1761-城市问题【图论,最短路,Dijkstra】
- ios沙箱模式开启_iOS沙盒篇
- Windows 下音频数据采集和播放
- Java BigDecimal应用
- python算法之归并排序
- windows 下使用 MinGW + msys 编译 ffmpeg
- sql server 2012 复制数据库向导出现TransferDatabasesUsingSMOTransfer()异常
- [BZOJ1031] [JSOI2007] 字符加密Cipher (后缀数组)
- mysql分页下表_有关Mysql分表分页问题
- 百度 bos php,Thinkphp5对接百度云对象存储 BOS(代码示例)
- 二叉搜索树的模拟及其实现(c++)
- 学计算机物理去戴维斯还是伦斯勒理工学院好,为什么伦斯勒理工学院评价那么高?...
- 第二讲:云分类及服务模式
- 实战分享:USB PCB布线经验教训!
- bootstrap 样式下 Se7en 模板使用(1)操作提示信息框