前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 安全退出应用程序的方法总结

Android 安全退出应用程序的方法总结

作者头像
郭耀华
发布2018-05-09 11:29:21
1.1K0
发布2018-05-09 11:29:21
举报
文章被收录于专栏:郭耀华‘s Blog郭耀华‘s Blog

Android 安全退出应用程序的方法总结

正常关闭应用程序:

当应用不再使用时,通常需要关闭应用,可以使用以下三种方法关闭android应用:

第一种方法:首先获取当前进程的id,然后杀死该进程。

代码语言:javascript
复制
android.os.Process.killProcess(android.os.Process.myPid())

通过这种方式不能将应用程序完全杀死,并且他不会把当前应用应用的Activity的task任务栈清空

第二种方法:终止当前正在运行的Java虚拟机,导致程序终止

代码语言:javascript
复制
System.exit(0);

不会把自己的应用程序杀死

第三种方法:强制关闭与该包有关联的一切执行

代码语言:javascript
复制
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);  
manager.restartPackage(getPackageName());
<uses-permission android:name="android.permission.RESTART_PACKAGES" />

只能杀死别人,不能杀死自己

企业中做法:

创建类app 继承Application

代码语言:javascript
复制
AndroidMainfest -->name -->app //声明该类为整个应用程序全局的实例

添加android:name=".全局实例App"

创建整个应用程序全局的实例

代码语言:javascript
复制
App.class:
ArrayList<Activity> activities;

其他的Activity中:

代码语言:javascript
复制
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从集合中移除
}

安全退出:

在菜单退出按钮的事件中定义如下代码:

代码语言:javascript
复制
App app = (App) getApplication();
List<Activity> activities = app.activities;
for(Activity act:activities){
 act.finish();//显式结束
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-07-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档