2011-05-02 30 views
1

與許多應用程序一樣,我的應用程序依賴於WIFI和Http連接來操作。我不清楚的是我可以如何等待,直到WIFI啓用AND設備連接到WIFI網絡。推遲應用程序啓動的最佳方式是什麼?在此期間,我會保持按鈕停用。還有什麼方法可以讓設備嘗試連接到其首選網絡?謝謝如何在應用程序啓動之前等待直到WIFI連接?

+0

請參閱http://stackoverflow.com/questions/8678362/wait-until-wifi-connected-on-android它有什麼你loooking。 – 2014-10-08 19:32:09

回答

0

看看ConnectivityManagerWiFiManager。使用這些可以在網絡狀態發生變化時獲得事件

+0

你必須瞭解情況。主要活動正在啓動。 OnCreate()調用它的時間來獲取http數據?但是,在這種情況發生之前,你如何等待?也許你會讓主要活動成爲廣播接收器?你在聽什麼廣播? – Androider 2011-05-02 09:58:17

+0

請詳細說明。如果你目前沒有連接,你如何使用它們來啓動網絡連接。你怎麼等待呢? – Androider 2011-05-02 10:49:02

+0

更具體地說: - 閱讀MaxVT和我建議的文檔; - 在SO和網絡中尋找相關的問題。這裏是一個:http://stackoverflow.com/questions/3262781/how-to-check-wifi-or-3g-network-is-available-on-android-device; 通常 - 在禁用按鈕的情況下啓動您的應用程序,然後根據需要收到所需的通知更新UI後,等待網絡狀態更改事件。 恐怕我沒有代碼片段來演示它 – Asahi 2011-05-02 11:20:12

0

使用WifiManager可以獲取連接的狀態。

一般來說,你將不得不嘗試。 Wifi連接可以顯示爲已連接,但無法實際發送/接收,因爲信號太弱。一旦連接完成,應用程序應嘗試連接,並且只有在成功時,才能激活按鈕等等。

+0

你會嘗試連接什麼電話?假設你想嘗試連接到默認的無線網絡,無論用戶可能選擇了什麼? – Androider 2011-05-02 09:56:17

+0

這是否需要放入AsyncTask? – Androider 2011-05-02 09:56:35

+0

當WIFI實際連接時,是否會發布廣播? – Androider 2011-05-02 09:58:41

相關問題