android退出应用
来源:互联网 发布:Linux dlsym 编辑:程序博客网 时间:2024/05/16 18:13
随便写写:
方法1:写一个栈,退出的时候释放掉所有activitys,等的资源,如下:
自定义一个Actiivty 栈,不过利用一个单例模式的Activity栈来管理所有Activity。并提供退出所有Activity的方法。代码如下:
public class ScreenManager {
private static Stack<Activity> activityStack;
private static ScreenManager instance;
private ScreenManager(){
}
public static ScreenManager getScreenManager(){
if(instance==null){
instance=new ScreenManager();
}
return instance;
}
//退出栈顶Activity
public void popActivity(Activity activity){
if(activity!=null){
activity.finish();
activityStack.remove(activity);
activity=null;
}
}
//获得当前栈顶Activity
public Activity currentActivity(){
Activity activity=activityStack.lastElement();
return activity;
}
//将当前Activity推入栈中
public void pushActivity(Activity activity){
if(activityStack==null){
activityStack=new Stack<Activity>();
}
activityStack.add(activity);
}
//退出栈中所有Activity
public void popAllActivityExceptOne(Class cls){
while(true){
Activity activity=currentActivity();
if(activity==null){
break;
}
if(activity.getClass().equals(cls) ){
break;
}
popActivity(activity);
}
}
}
或者这样:
将下面SysApplication这个类复制到工程里面,然后在每个Acitivity的oncreate方法里面通过SysApplication.getInstance().addActivity(this);
附代码:
importjava.util.LinkedList;
importjava.util.List;
importandroid.app.Activity;
importandroid.app.AlertDialog;
importandroid.app.Application;
importandroid.content.DialogInterface;
importandroid.content.Intent;
publicclass SysApplication extends Application{
}
在应用程序里面 的activity的oncreate里面添加SysApplication.getInstance().addActivity(this)
如:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SysApplication.getInstance().addActivity(this);
}
方法2:
伪退出,不真正删除内存资源等信息,方便用户下次快速使用:
private
void
showTips() {
AlertDialog alertDialog =
new
AlertDialog.Builder(
this
).setTitle(
"提醒"
)
.setMessage(
"是否退出程序"
)
.setPositiveButton(
"确定"
,
new
DialogInterface.OnClickListener() {
public
void
onClick(DialogInterface dialog,
int
which) {
Intent intent =
new
Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
android.os.Process.killProcess(android.os.Process.myPid());
}
}).setNegativeButton(
"取消"
,
new
DialogInterface.OnClickListener() {
public
void
onClick(DialogInterface dialog,
int
which) {
return
;
}
}).create();
// 创建对话框
alertDialog.show();
// 显示对话框
}
- android退出应用:弹出对话框退出应用
- Android--完美退出应用
- Android完全退出应用
- android 退出应用
- android 强制退出应用
- android退出整个应用
- Android应用完全退出
- Android 退出应用
- android完全退出应用
- android 退出整个应用
- android退出应用
- android 安全退出应用
- android 完全退出应用
- Android 完全退出应用
- android退出应用
- Android退出应用
- android 双击退出应用
- Android应用强制退出
- Hibernate三种状态的区分,以及save,update,saveOrUpdate,merge等的使用
- IOS 三方库 简单的介绍和总结
- 操作hdfs里的文件
- 安卓推送技术探讨
- xcode5 UITabViewController 如何跳过"more"界面
- android退出应用
- opensuse 12.3 使用extundelete恢复ext3,ext4文件系统下被rm删除的数据
- 《深入理解java虚拟机》
- 收货自动创建采购订单
- Spring+Hibernate+Struts之懒加载问题的解决
- 用户空间和内核空间通讯之【Netlink 上】
- 2014-04-17工作日志:时间安排(上班时间,没有什么特殊事情,禁止登qq)
- 待办事项
- 有限差分法求导