Android程序退出完美解决方案兼容所有SDK
程序员文章站
2023-12-15 12:05:58
上网学了好多方法,关于android的activity如何退出。好多方法都不行啦,试了各种方法,下面这种方法就是我最喜欢的,简单又容易懂。 使用单例模式创建一个activi...
上网学了好多方法,关于android的activity如何退出。好多方法都不行啦,试了各种方法,下面这种方法就是我最喜欢的,简单又容易懂。
使用单例模式创建一个activity管理对象,该对象中有一个activity容器(具体实现自己处理,使用linkedlist等)专门负责存储新开启的每一个activity,并且容易理解、易于操作,非常不错!
myapplication类(储存每一个activity,并实现关闭所有activity的操作
public class myapplication extends application {
private list<activity> activitylist = new linkedlist<activity>();
private static myapplication instance;
private myapplication()
{
}
//单例模式中获取唯一的myapplication实例
public static myapplication getinstance()
{
if(null == instance)
{
instance = new myapplication();
}
return instance;
}
//添加activity到容器中
public void addactivity(activity activity)
{
activitylist.add(activity);
}
//遍历所有activity并finish
public void exit()
{
for(activity activity:activitylist)
{
activity.finish();
}
system.exit(0);
}
}
在每一个activity中的oncreate方法里添加该activity到myapplication对象实例容器中
myapplication.getinstance().addactivity(this);
使用单例模式创建一个activity管理对象,该对象中有一个activity容器(具体实现自己处理,使用linkedlist等)专门负责存储新开启的每一个activity,并且容易理解、易于操作,非常不错!
myapplication类(储存每一个activity,并实现关闭所有activity的操作
复制代码 代码如下:
public class myapplication extends application {
private list<activity> activitylist = new linkedlist<activity>();
private static myapplication instance;
private myapplication()
{
}
//单例模式中获取唯一的myapplication实例
public static myapplication getinstance()
{
if(null == instance)
{
instance = new myapplication();
}
return instance;
}
//添加activity到容器中
public void addactivity(activity activity)
{
activitylist.add(activity);
}
//遍历所有activity并finish
public void exit()
{
for(activity activity:activitylist)
{
activity.finish();
}
system.exit(0);
}
}
在每一个activity中的oncreate方法里添加该activity到myapplication对象实例容器中
复制代码 代码如下:
myapplication.getinstance().addactivity(this);