Android 完全退出整个应用 不在栈底也能退出
来源:互联网 发布:淘宝开店的基本流程图 编辑:程序博客网 时间:2024/05/16 18:44
上次做了个不在栈底退出应用(a->b->c 直接在c退出) 在网上找了很多方法 最常见额是 建一个ArrayList<Activity> list 的集合存储 已经存在的Activity 每打开一个activity就在list集合中加入,退出时就移除 假如你的手机配置足够好 在一定的时间内 那么这样的方法可能没什么问题 能够推出整个app 还有的方法是通过报错强制关闭app 还有通过killbackground 反正我本人表示没有成功(退出按钮不在栈顶的情况下)但是如果你的手机运存不是足够的大 那么你的程序长期处于后台就有可能被回收 被回收时 你的存放Activity的list集合就被重新初始化 如上面所说 加入你在c界面时把app切换到了后台 那么此时你失去了list 与a b 连个Activity的关联 这时候你在c界面点击退出App 你会发现你回到了b 并没有像想象中那样退出app。
说说我的解决方法吧
新建一个没有界面的Activity
<activity android:name=".ExitActivity" android:label="@string/title_activity_exit" <span style="color:#ff0000;">android:launchMode="singleTop" android:theme="@android:style/Theme.NoDisplay"</span> ></activity>
import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;public class ExitActivity extends BaseActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState,R.layout.activity_exit);}@Overridepublic void initView() {Log.e("ExitActivity", "initView");if (infoUtil.isExit()) {Log.e("ExitActivity", "退出APP");infoUtil.setExit(false);finish();} else {Intent intent = new Intent(this,V2MainActivity.class);startActivity(intent);}}@Overridepublic void addListener() {}@Overrideprotected void onNewIntent(Intent intent) {// TODO Auto-generated method stubLog.e("ExitActivity", "onNewIntent");super.onNewIntent(intent);// 退出if ((Intent.FLAG_ACTIVITY_CLEAR_TOP & intent.getFlags()) != 0) {infoUtil.setExit(false);finish();}}}
当然我这里是考虑到切换账号 所以我在登录成功后跳转界面时 跳转到了这个ExitActivty 如果不是退出我将清除所有的Activity 来达到重新加载新用户的资料和界面
如果不需要切换账号的话 可以不用写我在initView里判断
在你需要退出的地方调用
Intent intent = new Intent(mContext,ExitActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish();
有不对的地方欢迎指出
0 0
- Android 完全退出整个应用 不在栈底也能退出
- Android 完全退出整个应用 不在栈底也能退出
- android退出整个应用
- android 退出整个应用
- Android退出整个应用
- Android完全退出应用
- Android应用完全退出
- android完全退出应用
- android 完全退出应用
- Android 完全退出应用
- android 应用完全退出
- Android App 退出整个应用
- 新手学习如何完全退出整个应用
- android 完全退出应用总结
- Android 完全退出应用方法
- Android 完全退出应用方法
- android完全退出应用解决方案
- 退出整个应用
- git:Please enter a commit message to explain why this merge is necessary
- MVC5中路由新特性
- windows下安装elasticsearch
- Security Enhancements for Android
- Android的常用零碎代码块
- Android 完全退出整个应用 不在栈底也能退出
- JVM内存管理和垃圾回收(二)
- SecureCRT 7.3.4破解版(含注册机)
- 从HAL层到java应用层重写mini6410 led功能
- AMScrollingNavbar框架(自动隐藏导航栏)使用简介
- 在shell脚本中调用另一个脚本的三种不同方法(fork, exec, source)
- Gradle compile依赖jar,GroupId,ArtifactId查询
- jQuery基础事件
- Android AIDL学习