2014-07-14 46 views
1

我找不到任何編程方式來通知Android OS通過Wi-Fi網絡(例如,往返某個子網的地址)路由特定數據,以及通過蜂窩調制解調器發送所有其他數據。任何方式來告訴Android操作系統不使用連接的Wi-Fi網絡「互聯網」?

推理:我正在開發一個嵌入式設備,將自己設置爲Wi-Fi接入點。我希望手機能夠通過Wi-Fi連接到它,以處理數據密集型傳輸(比藍牙支持更強烈),而不會「終止」終端用戶的連接(例如通過蜂窩3G/LTE調制解調器)。由於手機會錯誤地嘗試通過Wi-Fi路由數據,因此傳輸可能需要幾分鐘的時間纔會停用主要功能。

是否在某些可能的接口上指定某些數據?任何方式來避免這種情況?我見過的解決方案會定期禁用W-Fi以讓少量數據通過,但這不僅僅是解決方案。

+0

其他想法。嘗試修改wifi設備上的dhcp服務器配置,使手機不會通過wifi設備生成默認路由,或者使用wifi direct。 – antiduh

回答

1

我認爲你需要的一切是在ConnectivityManagerWifiManager類。致電setNetworkPreference。然後使用antiduh描述的技術讓您的應用程序使用其他網絡進行連接。 (oops,它看起來像他刪除了他的答案。基本上,你自己的應用程序將枚舉本地IP地址,並綁定一個特定的IP地址爲特定的WiFi網絡應用程序想要連接上

+0

問題是,手機的其餘部分將使用「wifi」鏈接,贏得'它有一個「wifi」設備,無法路由到互聯網 – antiduh

+0

啊......我明白了,手機無法連接到多個WiFi網絡,所以當他的應用程序運行時,他必須將首選網絡設置爲運營商(3G網絡),切換WiFi連接到嵌入式設備,然後在完成應用程序時將所有內容都恢復正常。聽起來有點冒險。 – selbie

+0

嗯,我需要仔細看看ConnectivityManager和WifiManager。但更重要的是Wi-Fi網絡無法路由到互聯網,並且需要通知操作系統不通過它來路由「大部分」數據。但我需要更仔細地查看您的回覆! – gnychis

相關問題