美文网首页Android
怎样退出终止APP

怎样退出终止APP

作者: 学不好语文的LJ码农 | 来源:发表于2016-12-07 11:24 被阅读164次

    以下内容整理自互联网,仅用于个人学习


    1. 链表存储所有Activity

    在Application中定义一个单例模式的Activity链表来管理所有Activity,退出时,逐个调用finish()。

    2. ActivityManager

    在AndroidManifest.xml添加权限

    <uses permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" ></uses>
    

    退出应用时,调用

    ActivityManager am= (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE); 
    am.killBackgroundProcesses(this.getPackageName());
    

    3. Dalvik VM的本地方法

    android.os.Process.killProcess(android.os.Process.myPid())    //获取PID  
    System.exit(0);   //常规java标准退出法,返回值为0代表正常退出
    

    4. Activity启动标记

    Android的窗口类提供了历史栈,我们可以通过Stack的原理来巧妙的实现,这里我们在A窗口打开B窗口时在Intent中直接加入标记Intent.FLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的所有Activity。

    在A窗口中使用下面的代码调用B窗口:

    Intent intent = new Intent();  
    intent.setClass(this, B.class);  
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  //注意本行的FLAG设置  
    startActivity(intent);
    

    还可以通过递归退出的方式,在打开新的Activity时使用startActivityForResult()方法来启动,然后自己加标记,在退出时可以递归退出。

    5. 广播机制

    新建BaseActivity,所有Activity继承该Activity。在BaseActivity中注册广播接收器,在onReceive调用finish()。

    6. 强制异常退出

    抛出异常使程序Force Close。

    相关文章

      网友评论

        本文标题:怎样退出终止APP

        本文链接:https://www.haomeiwen.com/subject/qoydmttx.html