这里我们给出一种使用BroadcastReceiver来实现的方法。
首先我们写一个基类CommonActivity继承自Activity,然后在CommonActivity中加入一个BroadcastReceiver,用来接收退出App的广播。
简单实现如下:
public class CommonActivity extends Activity{
protected BroadCastReceiver baseBroadcastReceiver = new BroadcastReceiver(){
@override
public void onReceive(Context context, Intent intent){
if(intent.getAction().equals(“quit_app”)){
finish();
}
}
}
@override
protected void onDestroy(){
super.onDestory();
removeReceivers();//用于销毁注册的BroadcastReceiver
}
}
当然我们还可以加入更多的东西到CommonActivity中,这里只是为了实现以下完全退出App,即销毁所有的Activity。
之后让自己写的所有Activity都继承自该CommonActivity就可以了。
当我们想要完全退出App时,便可以发送一个Action为“quit_app”的广播,可以在比如说在主界面MainActivity中连续作出了两次返回操作,就退出App,这是在许多的App中非常常见的退出App的场景。