Android退出应用程序的实现方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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();
感谢阅读,希望能帮助到⼤家,谢谢⼤家对本站的⽀持!。

相关文档
最新文档