2012-12-01 64 views
2

我已經找到很好的教程爲處理屏幕關閉與電影意圖:http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/檢查,如果無線網絡連接屏幕後每5分鐘連接是斷開

,但我想,後屏幕關閉時每5分鐘的WiFi時,如果檢查連接

ConnectivityManager connManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
wifi.isConnected() 

我想用alarm managerhttp://developer.android.com/reference/android/app/AlarmManager.html但我不知道如何檢查每5分鐘,如果是連接與否。

+0

使用等待5分鐘後意圖喚醒鬧鐘。 –

回答

2

首先聲明一個定時器類似如下:

Timer timer = new Timer(); 

然後assing參數給計時器如下:

timer.scheduleAtFixedRate(new checkWifi, 0,50000); 

然後定義checkWifi任務如下:

class checkWifi extends TimerTask { 

     @Override 
     public void run() { 
     //here put the code that will check if the wifi is connected or not 
     ConnectivityManager connManager =   (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
     wifi.isConnected() 
    } 
    }; 
+0

謝謝。我在哪裏可以使用計時器。在廣播接收機還是服務? – senzacionale

+0

任何一個人都可以,只要確保你放置timer.scheduleAtFixedRate(新的checkWifi,0,50000);代替你的興趣 –

2

你的方法是蹩腳的,定時器是多餘的。
只需創建WifiManager.NETWORK_STATE_CHANGED_ACTION的廣播接收器。

+0

感謝ou,但這與時間無關。這不會幫助我檢查它有史以來5分鐘... – senzacionale

+0

是的,但每5分鐘檢查一次,當WiFi狀態正在改變時您可以收到通知時沒有任何意義。你應該描述你的用例來解釋爲什麼需要中繼定時器(顯然你需要一個不同的原因)。 –

相關問題