Android开发实现一键退出所有活动
2016-05-03 22:41
423 查看
在Android开 发中,如何实现一键退出所有的活动呢(把所有活动一次性销毁,并退出软件),刚开始查了许多资料,并没有找到现成的函数(java里叫做方法)来实现这一功能,JAVA好像没有提供方法(可能能力有限,反正我是没查到。。。),后来参考了某个大大的思路,自己写一个类来实现。
类的代码如下
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
public class ActivityKiller extends Application
{
private List<Activity> mList = new LinkedList<Activity>();
private static ActivityKiller instance;
private ActivityKiller(){}
public static ActivityKiller getInstance()
{
if (null == instance)
{
instance = new ActivityKiller();
}
return instance;
}
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的java文件中加入这一句
ActivityKiller.getInstance().addActivity(this);
这句是什么意思呢,看上面代码中的方法,就是把这个活动加到list里去,然后挨个销毁(好暴力哟)
最后比如说你写了一个按钮的单击事件要实现一键退出这个软件的功能,就这么写:
ActivityKiller.getInstance().exit();
就是这么easy 哈哈,那么,还有没有什么更好的方法实现呢?
类的代码如下
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
public class ActivityKiller extends Application
{
private List<Activity> mList = new LinkedList<Activity>();
private static ActivityKiller instance;
private ActivityKiller(){}
public static ActivityKiller getInstance()
{
if (null == instance)
{
instance = new ActivityKiller();
}
return instance;
}
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的java文件中加入这一句
ActivityKiller.getInstance().addActivity(this);
这句是什么意思呢,看上面代码中的方法,就是把这个活动加到list里去,然后挨个销毁(好暴力哟)
最后比如说你写了一个按钮的单击事件要实现一键退出这个软件的功能,就这么写:
ActivityKiller.getInstance().exit();
就是这么easy 哈哈,那么,还有没有什么更好的方法实现呢?
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法