2016-04-22 91 views
-2

我有一個廣播接收器來檢查互聯網連接,如果沒有互聯網連接,我通過意圖顯示一個錯誤屏幕,我已驗證。現在,我需要在網絡重新連接時關閉錯誤屏幕,並顯示網絡消失的前一個屏幕。在廣播接收器中關閉一個活動

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()不起作用。

+0

您應該使用'context.finish();'將其轉換爲您的活動。 – Piyush

+0

context.finish()顯示錯誤無法解析完成() –

+0

您應該投射您的活動。無線電通信局是否在您的活動中,還是外部定製類? – Piyush

回答

0

如何關閉此處的活動?完成()不起作用

它是「不能正常工作」,因爲您沒有正確使用它。正確的做法是通知活動並將其告知finish()本身。您可以通過將您的「魔術」代碼直接發送到您的活動(如果它處於singleTop啓動模式,然後startActivity() + onNewIntent()就足夠),將意圖發送到您的活動。或者使用事件總線進行通信。

+0

對不起,請您簡單介紹一下嗎?我無法理解 –

相關問題