我正在開發一款應用程序,該應用程序的行爲有所不同,具體取決於用戶是通過WiFi還是其網絡發送請求。我如何檢測手機連接到哪個網絡?如何判斷手機是否連接到無線網絡或手機網絡?
This answer在黑莓論壇上看起來很有前景,但我不確定是否知道wifi是否打開等同於知道哪些網絡請求將被髮送。
(我們的目標是版本4.3或更高版本,如果它很重要。)
我正在開發一款應用程序,該應用程序的行爲有所不同,具體取決於用戶是通過WiFi還是其網絡發送請求。我如何檢測手機連接到哪個網絡?如何判斷手機是否連接到無線網絡或手機網絡?
This answer在黑莓論壇上看起來很有前景,但我不確定是否知道wifi是否打開等同於知道哪些網絡請求將被髮送。
(我們的目標是版本4.3或更高版本,如果它很重要。)
導入net.rim.device.api.system.WLANInfo。該檢查後,如下所示:
如果(WLANInfo.getWLANState()== WLANInfo.WLAN_STATE_CONNECTED){ /* WLAN連接*/ }
如果將它連接,請求將被通過WiFi發送。
這告訴你是否有潛在的可用WiFi連接。但是,當你物理連接的連接字符串明確告訴它使用WiFi或不。 – seand 2011-06-10 03:33:23
你怎麼創建你的連接?既然你支持5.0之前,我假設你正在做一些類似於http://www.versatilemonkey.com/HttpConnectionFactory.java的東西。在這種情況下,請查看getLastTransport()方法。基本的笑話是它記錄了最後使用的連接。 – eSniff 2011-06-10 17:21:41
@eSniff:是的,這大概是我們如何創建我們的連接。感謝您的鏈接!所以你不能告訴下一個連接將使用什麼協議,只是最後一個?如果用戶在此期間關閉了wifi,丟失了蜂窩信號等,該怎麼辦? – 2011-06-10 18:11:33