退出Activity的方法
2016-07-26 11:00
495 查看
转载自http://blog.sina.com.cn/s/blog_8996e7110102wkjv.html
Android中使用:[activityname].this.finish(); 只是退出了activity的堆栈中,要真正的退出程序在手机cpu中的运行,当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用:
一 使用killProcess()函数,首先获取当前进程的id,然后杀死该进程:
android.os.Process.killProcess(android.os.Process.myPid());
通过这种方式不能将应用程序完全杀死,并且他不会把当前应用应用的Activity的task任务栈清空
二 在activity的生命周期函数中添加如下的函数,强制关闭与该包有关联的一切执行:
ActivityManager am = (ActivityManager)getSystemService (Context.ACTIVITY_SERVICE);
am.restartPackage("packagename");
还需要在AndroidManifest.xml文件中加入如下的权限:android:name="android.permission.RESTART_PACKAGES" />
此做法:只能杀死别人,不能杀死自己
三、 终止当前正在运行的Java虚拟机,导致程序终止
System.exit(0);
不会把自己的应用程序杀死
企业中做法:
创建类app 继承Application
AndroidMainfest -->name -->app //声明该类为整个应用程序全局的实例
创建整个应用程序全局的实例
App.class:
ArrayList activities;
其他的Activity中:
public void onCreate(Bundle savedInstanceState) {
App app = (App) getApplication();//获取应用程序全局的实例引用
app.activities.add(this); //把当前Activity放入集合中
}
public void onDestory(){
App app = (App) getApplication();//获取应用程序全局的实例引用
app.activities.remove(this); //把当前Activity从集合中移除
}
安全退出:
在菜单退出按钮的事件中定义如下代码:
App app = (App) getApplication();
List activities = app.activities;
for(Activity act:activities){
act.finish();//显式结束
}
Android中使用:[activityname].this.finish(); 只是退出了activity的堆栈中,要真正的退出程序在手机cpu中的运行,当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用:
一 使用killProcess()函数,首先获取当前进程的id,然后杀死该进程:
android.os.Process.killProcess(android.os.Process.myPid());
通过这种方式不能将应用程序完全杀死,并且他不会把当前应用应用的Activity的task任务栈清空
二 在activity的生命周期函数中添加如下的函数,强制关闭与该包有关联的一切执行:
ActivityManager am = (ActivityManager)getSystemService (Context.ACTIVITY_SERVICE);
am.restartPackage("packagename");
还需要在AndroidManifest.xml文件中加入如下的权限:android:name="android.permission.RESTART_PACKAGES" />
此做法:只能杀死别人,不能杀死自己
三、 终止当前正在运行的Java虚拟机,导致程序终止
System.exit(0);
不会把自己的应用程序杀死
企业中做法:
创建类app 继承Application
AndroidMainfest -->name -->app //声明该类为整个应用程序全局的实例
创建整个应用程序全局的实例
App.class:
ArrayList activities;
其他的Activity中:
public void onCreate(Bundle savedInstanceState) {
App app = (App) getApplication();//获取应用程序全局的实例引用
app.activities.add(this); //把当前Activity放入集合中
}
public void onDestory(){
App app = (App) getApplication();//获取应用程序全局的实例引用
app.activities.remove(this); //把当前Activity从集合中移除
}
安全退出:
在菜单退出按钮的事件中定义如下代码:
App app = (App) getApplication();
List activities = app.activities;
for(Activity act:activities){
act.finish();//显式结束
}
相关文章推荐
- 改变imageButton按下和抬起时的background图片
- 不同应用程序提供的数据的获取显示—自定义ContentProvider
- Loader异步装载
- Loader异步装载CursorLoader的案例
- ListView的两种监听某一项的单击事件的方法
- AlertDialog
- 记录一下sqlite中多表查询。
- SearchView和Listview的绑定,模糊查询
- ActionBar导航功能使用介绍
- SearchView的使用
- 关于Android中的Html.fromhtml方法
- ListFragment代码案例
- AutoCompleteTextView关联输入框
- MultiAutoCompleteTextView和AutoCompleteTextView对比
- Intent的使用
- Dialog显示图片下载进度案例
- android 中的 window,view,activity具体关系
- 各LaunchMode的使用场景
- 《Android游戏编程之从零开始》笔记
- 高德地图签名