Android 退出应用程序的实现方法
程序员文章站
2023-10-26 20:31:34
android 退出应用程序的实现方法
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();
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
上一篇: 香椿炒鸡蛋的禁忌,一起来看看
下一篇: 紫苏水及牛油果搭配很流行哦,牛油果过敏吗