Android 关闭广播接收器中的活动

Android 关闭广播接收器中的活动,android,android-activity,broadcastreceiver,Android,Android Activity,Broadcastreceiver,我有一个广播接收器来检查互联网连接,在这个接收器中,我验证了如果没有互联网连接,我将通过intent显示一个错误屏幕。现在,当网络重新连接时,我需要关闭错误屏幕,并显示网络离开的前一个屏幕 private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { i

我有一个广播接收器来检查互联网连接,在这个接收器中,我验证了如果没有互联网连接,我将通过intent显示一个错误屏幕。现在,当网络重新连接时,我需要关闭错误屏幕,并显示网络离开的前一个屏幕

private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        isConnected = intent.getBooleanExtra(ConnectionDetector.CONNECTED_KEY, false);
        if(isConnected){
            System.out.println("A1");
            finish();
        }
        if (intent.getAction().equals(CONNECTION_BROADCAST_ACTION)) {
            System.out.println("A2");
            No_Network.this.finish();
        }
    }
};
这是我在错误屏幕活动中的代码。如何结束这里的活动?finish()不起作用

如何结束这里的活动?finish()不起作用


它“不起作用”,因为您没有正确使用它。正确的方法是通知活动并告诉它自己
finish()。您可以通过将您的带有“魔术”代码的意图直接发送到您的活动(如果它处于
singleTop
launch模式,那么
startActivity()
+
onNewIntent()
就足够了)。或者使用事件总线进行通信。

您应该使用
context.finish()将强制转换到您的活动。context.finish()显示错误无法解决finish(),您应该强制转换活动。BR是在您的活动中还是外部自定义类??此BroadcastReceiver BR在我的活动和连接中检测器BR是外部类然后只需调用(YourActivityName)上下文。finish();对不起,你能再简单介绍一下吗?我不明白