- 浏览: 72596 次
- 性别:
- 来自: 西安
文章分类
- 全部博客 (101)
- Android (45)
- java中多线程的实现 (1)
- Runnable (2)
- Thread (1)
- TCP网络编程 (1)
- PHP (1)
- java (4)
- JDBC (1)
- oauth登录 (1)
- 中文乱码 (1)
- Ajax (1)
- web (2)
- Mysql (2)
- HTML5 (0)
- HTML5 (1)
- entity not found (1)
- JQuery (2)
- 使用jsp和Servlet实现一个验证码 (1)
- 验证码 (1)
- 异常 (1)
- webService (2)
- not insert异常 (1)
- JAVAmail (1)
- 选中分享 (1)
- 控件 (1)
- 方法 (1)
- listView (1)
- android控件 (1)
- jqueryMobile (1)
- servlet开发中文乱码解决方案 (1)
- servlet开发中文乱码解决方案 (1)
- web文本框初始提示 (1)
- web文本框初始提示 (0)
- xml (1)
- java中的加密技术 (1)
- 互联网 (1)
- mysql数据库 (1)
- java单例模式 (1)
- gson转json (1)
最新评论
1. 添加权限
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
2. 导入AppManager工具类
AppManager类是一个自定义的工具类,作用是将应用程序所有启动的Activity都添加到堆栈,最终退出应用程序时全部释放掉Activity。
完整的AppManager类代码:
package net.oschina.app;
import java.util.Stack;
import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
/**
* 应用程序Activity管理类
* @author liux
*/
public class AppManager {
private static Stack<Activity> activityStack;
private static AppManager instance;
private AppManager(){}
/**
* 单一实例
*/
public static AppManager getAppManager(){
if(instance==null){
instance=new AppManager();
}
return instance;
}
/**
* 添加Activity到堆栈
*/
public void addActivity(Activity activity){
if(activityStack==null){
activityStack=new Stack<Activity>();
}
activityStack.add(activity);
}
/**
* 获取当前Activity(堆栈中最后一个压入的)
*/
public Activity currentActivity(){
Activity activity=activityStack.lastElement();
return activity;
}
/**
* 结束当前Activity(堆栈中最后一个压入的)
*/
public void finishActivity(){
Activity activity=activityStack.lastElement();
if(activity!=null){
activity.finish();
activity=null;
}
}
/**
* 结束指定的Activity
*/
public void finishActivity(Activity activity){
if(activity!=null){
activityStack.remove(activity);
activity.finish();
activity=null;
}
}
/**
* 结束指定类名的Activity
*/
public void finishActivity(Class<?> cls){
for (Activity activity : activityStack) {
if(activity.getClass().equals(cls) ){
finishActivity(activity);
}
}
}
/**
* 结束所有Activity
*/
public void finishAllActivity(){
for (int i = 0, size = activityStack.size(); i < size; i++){
if (null != activityStack.get(i)){
activityStack.get(i).finish();
}
}
activityStack.clear();
}
/**
* 退出应用程序
*/
public void AppExit(Context context) {
try {
finishAllActivity();
ActivityManager activityMgr= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
activityMgr.restartPackage(context.getPackageName());
System.exit(0);
} catch (Exception e) { }
}
}
3. 使用AppManager工具类
Activity启动时,在的onCreate方法里面,将该Activity实例添加到AppManager的堆栈
AppManager.getAppManager().addActivity(this);
需要退出程序时,调用
AppManager.getAppManager().AppExit(this);
发表评论
-
Android自动化测试--Espresso框架使用
2016-11-01 10:02 709转载: Android自动化测试--Espresso框架 ... -
浅谈android中仅仅使用一个TextView实现高仿京东,淘宝各种倒计时
2016-11-01 09:54 1040转载:http://blog.csdn.net/u0130 ... -
利用apktool等工具发编译android apk
2016-10-25 09:15 699这个是我的csdn中的一篇关于android app反编译的文 ... -
Error:Execution failed for task ':app:mergeDebugResources'. > Some file crunchin
2016-10-08 10:30 990向studio中导入微信支付Demo的时候报错了,具体如图: ... -
android studio实用快捷键收集
2016-09-30 17:51 448本人用android studio刚开始,做一下笔记,只适用于 ... -
android中事件分发机制
2016-09-22 11:52 534转载自:http://www.cnblogs.com/linj ... -
一个对sharedpreferences 数据进行加密的开源库
2016-09-18 14:30 613http://www.cnblogs.com/zhaoyanj ... -
LinerLayout滑动后停在顶部
2016-09-18 12:08 642转载自:http://blog.csdn.net/ff2008 ... -
android studio入门知识
2016-09-06 18:11 681http://blog.csdn.net/jdsjlzx/ar ... -
android图片加载OOM解决方案
2016-08-30 15:17 453转载自:http://www.apkbus.com/blog- ... -
android oom连带问题,以及tag错位问题结局方案
2016-08-30 13:48 630http://www.apkbus.com/blog-8430 ... -
android新手指导
2016-08-30 11:59 362http://www.apkbus.com/forum.php ... -
android app自动化测试
2016-07-12 15:51 480android sdk的lib目录下有个monkeyrunne ... -
利用BadgeView实现数字提醒效果
2016-07-06 16:38 932BadgeView是一个第三方开源库, github地址:ht ... -
android端图片缓存实现,特别适用于listview来回滚动
2016-07-02 10:40 657转载自: http://www.open-open.com/l ... -
android文件存储文本
2016-05-17 17:26 460/** * 写入文本 */ private void ... -
android listView的BaseAdapter的抽取
2016-05-12 11:52 619/** * BaseAdapter的抽取 * @autho ... -
android全局异常捕获并发送异常到邮箱
2016-05-12 11:41 1080public class AppException exten ... -
android第三方框架xutils的使用
2016-05-12 11:35 812这里写一些网络请求的相关 //初始化相关参数和对象 publi ... -
android端版本更新
2016-05-12 11:26 688整个思路,先判断服务端当前版本是不是高于本地版本,高的话可以选 ...
相关推荐
退出app的两种方式 1 创建activity的基类,让所有的activity都继承该基类,在基类中创建一个静态的activity列表,并在oncreate方法添加该activity, 在退出时,遍历该list的activity,逐个关闭每一个activity,从而...
ios app退出系统的源代码,ios app退出系统的源代码的实现。
实现按2次back键退出app,第一次按弹出吐司,2分钟内按下第二次,则退出app
深入BREW_APP创建,运行,退出机制.pdf深入BREW_APP创建,运行,退出机制.pdf深入BREW_APP创建,运行,退出机制.pdf
两种完美退出App的解决方案,一种是发送广播退出,一种是切入后台finish屌=掉
android完美退出app的实例代码.pdf
安卓app开发项目-完全退出程序的方法(源码).zip安卓app开发项目-完全退出程序的方法(源码).zip安卓app开发项目-完全退出程序的方法(源码).zip安卓app开发项目-完全退出程序的方法(源码).zip安卓app开发项目-完全退出...
监听打开/关闭APP 在接收动作的位置添加你所想要做的事情
可以设置andriod设备开机自启动指定app。可以监听app运行状态,守护app,退出后可定时打开指定app。
Android安卓app 让程序假退出,仍在后台运行.zip
介绍了ANDROID 完美退出APP的实例代码,有需要的朋友可以参考一下
(步骤1)一键结束当前App所有Activity实现方法类型主要分为2类:通过Android组件&自身实现具体如下图:注:上述方法仅仅只是结束当前App所有的Activity(在用户的角度确实是退出了App),但实际上该App的进
第一版:将网站封装为安卓APP,修复新版本安卓只能使用https的情况,修复返回键退出APP情况,支持自定义错误页。 开发工具:android studio 注意:部分网站可能不兼容自行百度修改 第二版:在原有基础上处理了网页...
Mac 小裤子:防止用户失误,导致退出 App.zip,停止意外退出应用程序
如果app退出,则将app的崩溃日志记录在某个文件下面; 2.当用户再次打开app的时候,提示,用户是否上传错误日志; 3.如果用户选择是,就将错误日志以附件的形式,添加到发送的邮件中; 4.选择否,就直接删除...
1 摘要 2 1.1大环境描述 2 1.11市场经济发展 2 1.12网络技术发展 2 1.13智能手机产业发展 2 1.2小环境描述 2 1.21 移动互联网用户低龄化趋势 2 1.22 以大学生为主体的年轻用户成为移动互联网消费主力...6.24退出机制 26
实现安卓app再按一次退出游戏效果,自己研究的,不知道对不对,反正自己测试已经实现按两次返回键退出,只要在需要监听的地方加入如下代码就可以 #include "againExit.h" ... auto x=againExit::create(); //坐标...