Android 退出应用程序的实现方法
Android 退出应用程序的实现方法
android 退出应用程序会调用android.os.Process.killProcess(android.os.Process.myPid())或是System.exit(0),这只是针对第一个Activity(也就是入口的Activity)时生效。如果有A,B,C三个Activity,而想在B 或C 中Activity 退出,调用上面的方法,往往会销毁当前的Activity 返回上一个Activity。当然也可以逐个返回上一个Activity,直到跳转到入口的Activity,最后退出应用程
序。但这样比较麻烦,而且逐个返回的体验并不友好。下面这种方法是写一个SysApplication 类,利用单例模式管理Activity,在每个在Activity 的onCreate()方法中调用ExitApplication.getInstance().addActivity(this)方法,在退出时调用ExitApplication.getInstance().exit()方法,就可以完全退出应用程序了。
import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.Application; public class SysApplication extends Application{ private List<Activity> mList = new LinkedList<Activity>(); private static SysApplication instance; private SysApplication() { } public synchronized static SysApplication getInstance() { if(null == instance) { instance = new SysApplication(); } return instance; } //add Activity public void addActivity(Activity activity) { mList.add(activity); } public void exit() { try{ for (Activity activity : mList) { if(activity != null) activity.finish(); } }catch (Exception e){ e.printStackTrace(); }finally{ System.exit(0); } } public void onLowMemory(){ super.onLowMemory(); System.gc(); } }
在每个activity 的onCreate中调用SysApplication.getInstance().addActivity(this);
然后在退出应用的时候调用SysApplication.getInstance().exit();
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
Kotlin中Stack与LinkedList的实现方法示例
这篇文章主要给大家介绍了关于Kotlin中Stack与LinkedList实现的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧2018-06-06Android开发之图形图像与动画(一)Paint和Canvas类学习
Paint类代表画笔,用来描述图形的颜色和风格,如线宽,颜色,透明度和填充效果等信息;Canvas类代表画布,通过该类提供的构造方法,可以绘制各种图形;感兴趣的朋友可以了解下啊,希望本文对你有所帮助2013-01-01Android 自动化测试经验分享 深入UiScrollable
UiScrollable是一个UiCollection(这东西还没搞懂),我们可以使用它,在可滑动的页面(水平滑动或上下滑动都可以)上查找我们想要的控件(item)2013-05-05AndroidApk混淆编译时,报告java.io.IOException...错误解决办法
这篇文章主要介绍了 AndroidApk混淆编译时,报告Error:Execution failed for task ‘:gviews:transformClassesAndResourcesWithProguardForRelease’.错误解决办法的相关资料,需要的朋友可以参考下2017-03-03
最新评论