android多activity下如何退出整个程序
16lz
2021-01-26
尝试过System.exit(0)和android.os.Process.killProcess(android.os.Process.myPid())两种方法都失败了。这两个应该均只能退出单activity
最后终于找到一个相对靠谱的方法,即重写activity,通过broadcast的方法解决这个问题。方法如下:
- publicclassBaseActivityextendsActivity{
- publicActivityaty;
- publicExitAllBroadCastexitAllBroadCast;
- /**Calledwhentheactivityisfirstcreated.*/
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- aty=BaseActivity.this;
- exitAllBroadCast=newExitAllBroadCast();
- }
- /*(non-Javadoc)
- *@seeandroid.app.Activity#onStart()
- */
- @Override
- protectedvoidonStart(){
- IntentFilterfilter=newIntentFilter();//创建IntentFilter对象
- filter.addAction("com.kg.exit.broadcast");
- registerReceiver(exitAllBroadCast,filter);//注册BroadcastReceiver
- super.onStart();
- }
- classExitAllBroadCastextendsBroadcastReceiver{
- @Override
- publicvoidonReceive(Contextcontext,Intentintent){
- //TODOAuto-generatedmethodstub
- aty.finish();
- }
- }
- @Override
- protectedvoidonDestroy(){
- //TODOAuto-generatedmethodstub
- super.onDestroy();
- unregisterReceiver(exitAllBroadCast);
- }
- }
直接贴过来了,需要调用退出的部分:
- IntentmyIntent=newIntent();//创建Intent对象
- myIntent.setAction("com.kg.exit.broadcast");
- sendBroadcast(myIntent);//发送广播
即可。有关全局变量,我只能在退出时调用OnCreate方法恢复初始值,其他的暂时还没有找到更好的方法。
转载自http://blog.csdn.net/kingsonl/article/details/7577058
更多相关文章
- 常用的 Android(安卓)Studio 快捷键
- ListView绑定数据的两种方法
- Android倒计时的开始与停止 剩余时分秒的展示
- Android(安卓)Jetpack -- ViewModel & LiveData
- Android(安卓)SurfaceView+MediaPlayer实现几个不同的视频轮流播
- android Popwindow中spinner点击崩溃挂掉的解决方法
- Android编程之关闭当前程序
- Android(安卓)Fragment 基本介绍
- android ImageView实现上面圆角下面直角(xml实现方法)