关闭广播接收器中的活动

时间:2016-04-22 11:08:51

标签: android android-activity broadcastreceiver

我有一个广播接收器来检查互联网连接,我已验证是否没有互联网连接我通过意图显示错误屏幕。现在我需要在重新连接网络时关闭错误屏幕并显示网络消失的上一个屏幕。

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()无效。

1 个答案:

答案 0 :(得分:0)

  

如何在这里关闭活动? finish()无效

它“无法正常工作”,因为您没有正确使用它。正确的方法是通知活动并告诉finish()本身。您可以通过将您的“魔法”代码的意图直接发送到您的活动来实现这一目标(如果它处于singleTop启动模式,那么startActivity() + onNewIntent()就足够了。或者使用事件总线进行通信。