广播接收器不工作(没有被叫)

时间:2018-05-13 19:24:25

标签: android broadcastreceiver android-broadcastreceiver

所以我在活动A中注册广播接收器

BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context arg0, Intent intent) {
        String action = intent.getAction();
        if (action.equals("finish_activity")) {
            finish();
        }
    }
};

(直接在课堂上)

并取消注册

@Override
    protected void onStop() {
        super.onStop();
        unregisterReceiver(broadcastReceiver);
    }

。 当我尝试从活动B中调用它时

Intent finishCheckALoanActivityIntent = new Intent("finish_activity");
            sendBroadcast(finishCheckALoanActivityIntent);

(一段时间以前由活动A开始(不确定是否重要)) 它没有完成活动A.换句话说,广播接收器没有被调用。 (PS:我在调用接收器完成活动A后立即在我的活动B中使用finish()。 我试过调试它。我在onReceive方法中设置了一个断点,但断点并没有被击中。

1 个答案:

答案 0 :(得分:0)

问题是我在onStop活动中调用了unregister方法,当我再次检查流程图时https://developer.android.com/reference/android/app/Activity我意识到我在使用之前取消注册它所以我在onDestroy中调用了unregister方法