2012-01-10 48 views
0

我需要製作Android應用程序,每天晚上應該向我的服務器發送一些數據。如果Wi-Fi連接不存在,應用程序應該在連接自動變爲可用時發送數據。爲什麼我可以獲得有關Wi-Fi可用性的活動?我應該使用廣播接收機嗎?請給我一個例子或想法。謝謝如何獲得Wi-Fi的顯示?

回答

0

Android自帶WiFi連接的完整支持。主要組件是系統提供的WiFiManager。像往常一樣,我們通過調用getSystemServices()來獲取當前上下文。

一旦我們有了WiFiManager,我們可以以WiFiInfo對象的形式請求它獲得當前的WIFi連接。我們還可以通過getConfiguredNetworks()詢問所有當前可用的網絡。這給了我們WifiConfigurations的列表。

 // Setup WiFi 
    wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 

    // Get WiFi status 
    WifiInfo info = wifi.getConnectionInfo(); 
    // info.toString() 

    // List available networks 
    List<WifiConfiguration> configs = wifi.getConfiguredNetworks(); 
    for (WifiConfiguration config : configs) { 
     // config.toString() 
    } 

參考detailed example

+0

我知道這件事。我不知道如何獲得有關可用性Wi-Fi的通知?例如,現在wi-fi無法使用,我想知道它何時可用。有什麼廣播嗎? – user1134602 2012-01-10 08:39:05

1

註冊在AndroidManifest.xml中BroadcastReceiver,檢查無線網絡連接狀態,如:

<receiver 
    android:name=".receivers.WifiStatusReceiver" 
    android:label="NetworkChangeReceiver">   
    <intent-filter>    
     <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 
     <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />   
    </intent-filter>  
    </receiver> 

,然後實現自己的BroadcastReceiver,Wi-Fi時將其將處理事件可用,所以你可以開始上傳/下載