2011-09-09 79 views
0

我正在研究在每個Activity上使用Internet的應用程序。我正在檢查每個活動的創建連接。但是如果n/w(互聯網)在兩者之間消失,我怎麼知道。是否有任何方法可以在應用程序期間每當網絡消失時進行通知。如何處理如果n/w不在

回答

1
每個 Activity

可以在的onReceive方法添加這個廣播接收器可以與活動,這是一個例子

public class MyActivity extends Activity { 
    private BroadcastReceiver receiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(...) { 
      ... 
     } 
    }); 

    public void onResume() { 
     super.onResume(); 

     IntentFilter filter = new IntentFilter(); 
     filter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); 

     this.registerReceiver(this.receiver, filter); 
    } 

    public void onPause() { 
     super.onPause(); 

     this.unregisterReceiver(this.receiver); 
    } 
} 

這樣,當創建類(也可以做接收器被實例化互動在onCreate)。然後在onResume/onPause處理註冊和取消註冊接收器。然後,在接收者的onReceive方法中,我會做任何必要的事情來使活動以我想要的方式在接收廣播時作出反應。

+0

但它只會在我將調用此方法時檢查連接。我想要的是如果網絡消失,它可以通知自己。 – Kamal

+0

嘗試使用廣播接收器 <接收器的android:名稱= 機器人 「myBroadcastClass」:啓用= 「真」 機器人:優先= 「0」> <意圖過濾器> <操作機器人:名字=「機器人。 net.conn.CONNECTIVITY_CHANGE「/ confucius

+0

請問您是否可以將此作爲新的答覆代替評論。 – Kamal