问题描述:

1,有的时候我们需要退出完全退出自己应用程序, 印象中android 没有没有那个API直接可以完成这个操作。

解决办法:

其实就是我们就是退出我们在自己应用程序中打开的所有activity。然后我们只需要记录下我们在程序中打开的所有的activity,然后在需要退出所有应用的时候,只需要将所有的已经打开的activity 遍历 关闭就 行了。

怎么实现:

application 是全局 我们可以在application记录下已经打开的activity 提供两个方法 一个 添加已经打开的activity 一个 退出应用 下面 直接看代码吧




import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.ActionBarActivity;
/**
* 完全退出 自己 应用程序
* @author cyl
*
* 2015-12-13
*/
public class ExitAppliation extends Application
{ //可以添加activity fragmentactivity actionbaractivity
private List<FragmentActivity> activityList = new LinkedList<FragmentActivity>();
private List<Activity> activities = new LinkedList<Activity>();
private List<ActionBarActivity> actionBarActivities = new LinkedList<ActionBarActivity>();
private static ExitAppliation instance;
// 单例模式中获取唯一的MyApplication实例
public static ExitAppliation getInstance()
{
if (null == instance)
{
instance = new ExitAppliation();
}
return instance;
}
//添加Activity到容器中
public void addActivity(FragmentActivity activity)
{
activityList.add(activity);
}
//添加Activity到容器中
public void addActivity(Activity activity)
{
activities.add(activity);
}
//添加Activity到容器中
public void addActivity(ActionBarActivity activity)
{
actionBarActivities.add(activity);
}
// 遍历所有Activity并finish
public void exit()
{
for (FragmentActivity activity : activityList)
{
activity.finish();
}
for (Activity activity : activities)
{
activity.finish();
}
for (ActionBarActivity activity : actionBarActivities)
{
activity.finish();
}
System.exit(0);
}
}


补充:

1,ExitApplication需要在 你的manifest.xml文件 配置一下,如果你有自己application 只需要将你的application 继承与这个ExitApplication

2,在每个打开的activity中 使用ExitAppliation.getInstance().addActivity(this);

3,在需要关闭的地方调用 ExitAppliation.getInstance().exit();

ok ,就说到这里。

更多相关文章

  1. Android(安卓)Fragment基础
  2. Android中通过scheme实现网页打开App(deep-link)
  3. Android开发 - ListView添加点击事件的三种方式
  4. Android原生webview打开支付宝
  5. Android(安卓)如何更改包名
  6. Android(安卓)为某个App 添加/移除 启动快捷方式、书签快捷方式
  7. android 入门学习笔记 取得文件架构、打开文件、判断文件MimeTyp
  8. Android中ProgressDialog的使用
  9. Android入门级之WebView的使用

随机推荐

  1. Android获取SD卡路径/内存的几种方法
  2. 《Android/OPhone 开发完全讲义》样章和
  3. Android(安卓)JNI(NDK)开发总结
  4. 深入Android(安卓)【一】 ―― 序及开篇
  5. Android从启动到程序运行发生的事情
  6. Google 收购 Android(安卓)十周年 全面解
  7. 《Android/OPhone 开发完全讲义》样章和
  8. 解读Android(安卓)LOG机制的实现:c/c++域
  9. Android中文翻译组 - 简介
  10. Android中AsyncTask的简单用法 .