如何真真正正的退出Android实施
发布时间:2021-12-15 11:22:18 所属栏目:教程 来源:互联网
导读:如何真真正正的退出Android应用,最简单有效的方法,不看你会后悔。 大家开发项目时可能又会遇到,要求退出时完全退出该应用,不得有任何残留的Activity,如何办呢? 我搜了一圈网上大多都是什么使用Intent跳转到手机桌面,千篇一律啊,各种一样啊,各种不能
如何真真正正的退出Android应用,最简单有效的方法,不看你会后悔。 大家开发项目时可能又会遇到,要求退出时完全退出该应用,不得有任何残留的Activity,如何办呢? 我搜了一圈网上大多都是什么使用Intent跳转到手机桌面,千篇一律啊,各种一样啊,各种不能用啊 或者又有什么: ActivityManager activityMgr = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE); activityMgr.restartPackage(mContext.getPackageName()); 或者出现什么: int pid = android.os.Process.myPid(); android.os.Process.killProcess(pid); //杀死当前进程 大家发现了什么没有,是滴都不行滴,是的没错。以前看到一个视频上讲的用什么建一个list,没一个oncreat()时添加到list里面去,好麻烦啊,受不鸟啊, 下面给大家介绍一种无比简单的方法,不喜欢的大家再想办法,我个人觉得简单,方便才是王道。 首先创建一个BaseActivity,import大家自己加上,在里面很简单,声明了一个广播接收器,在接受里面进行finish(), 其次就是接受器的注册与销毁分别在onResume()和onDestory()中。 public class BaseActivity extends Activity { protected BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { finish(); } }; @Override protected void onResume() { super.onResume(); // 在当前的activity中注册广播 IntentFilter filter = new IntentFilter(); filter.addAction("ExitApp"); this.registerReceiver(this.broadcastReceiver, filter); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); this.unregisterReceiver(this.broadcastReceiver); } } 接下来大家可能已经猜到了,把你需要显示的类,也就是跳转时没关闭过的,都extends BaseActivity, 当退出时只需发送一个广播即可: Intent intent = new Intent(); intent.setAction("ExitApp"); this.sendBroadcast(intent); super.finish(); 然后就没了,是不是很简单,鲜花在哪里。 总结一下吧: 1:先创建一个BaseActiviey。 2:把需要关闭的Activity全部extends BaseActivity 3:关闭时放一个广播就可 ![]() (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |