zoukankan      html  css  js  c++  java
  • Android 安全退出应用程序的方法总结

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

    正常关闭应用程序:

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

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

    android.os.Process.killProcess(android.os.Process.myPid())

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

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

    System.exit(0);

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

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

    ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);  
    manager.restartPackage(getPackageName());
    <uses-permission android:name="android.permission.RESTART_PACKAGES" />
    
    

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

    企业中做法:

    创建类app 继承Application

    AndroidMainfest -->name -->app //声明该类为整个应用程序全局的实例

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

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

    App.class:
    ArrayList<Activity> 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<Activity> activities = app.activities;
    for(Activity act:activities){
     act.finish();//显式结束
    }
    
  • 相关阅读:
    POJ 3348 Cows (凸包面积)
    P4126 [AHOI2009]最小割
    P1903 [国家集训队]数颜色
    P3749 [六省联考2017]寿司餐厅
    CF666E Forensic Examination
    P2336 [SCOI2012]喵星球上的点名
    P1117 [NOI2016]优秀的拆分
    P3747 [六省联考2017]相逢是问候
    CF1062F Upgrading Cities
    P3243 [HNOI2015]菜肴制作
  • 原文地址:https://www.cnblogs.com/guoyaohua/p/8502923.html
Copyright © 2011-2022 走看看