BaseActivity 中這樣寫:
public class BaseActivity extends AppCompatActivity {
private FinishActivityReceiver mReceiver;
private String simpleName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*
* 關閉Activity的廣播
* */
simpleName = getClass().getSimpleName();
mReceiver = new FinishActivityReceiver();
registerFinishReceiver();
}
private void registerFinishReceiver() {
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(simpleName);
registerReceiver(mReceiver, intentFilter);
}
private class FinishActivityReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//需要關閉頁面的action
if (simpleName.equals(intent.getAction())) {
BaseActivity.this.finish();
}
}
}
要關閉某個Activity的時候使用如下方法:
Intent intent = new Intent("xxActivity");
sendBroadcast(intent);