AlertActivity
和一个 Activity
。当收到广播时,两个活动都需要结束。但是如果 AlertActivity
在 Activity
顶部,则下面的代码会导致黑屏。以下是在
Activity
中的代码:private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("BROADCAST_INTENT")){
if(alertActvity != null)
alertActivity.finish();
finish();
}
}
并且在 AlertActivity
中编写代码:
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("BROADCAST_INTENT"))
finish();
}
}
首先,Activity的onStop()
方法会在AlertActivity
的onStop()
方法之前被调用,这导致屏幕变黑,即使在AlertActivity
的finish()
方法被调用之前,Activity
的finish()
方法已经被调用。
请帮我解决这个问题。