2
首先,Android手機連接3G網絡和WiFi。 這時候我想通過3G網絡發送http請求而不使用wifi。 我該怎麼辦?通過3G網絡發送HTTP請求而不使用WiFi?
首先,Android手機連接3G網絡和WiFi。 這時候我想通過3G網絡發送http請求而不使用wifi。 我該怎麼辦?通過3G網絡發送HTTP請求而不使用WiFi?
我不認爲你可以這樣做,因爲在Android中,只有一個網絡在任何時間點處於活動狀態。因此,首先需要檢查哪個網絡處於活動狀態,然後是否爲Wi-Fi網絡,然後斷開連接,然後Android將回退到其他3G網絡(如果沒有其他Wi-Fi網絡可用) ,那麼你可以發送你的請求,將通過3G network.outline將通過如下所示:
ConnectivityManager cm = (ConnectivityManager)Context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if(ni == null)
//no connectivity, abort
if(ni.getType() == ConnectivityManager.TYPE_WIFI || ni.getType() == ConnectivityManager.TYPE_WIMAX) {
WifiManager wm = (WifiManager)Context.getSystemService(Context.WIFI_SERVICE);
if(wm != null)
wm.disconnect();
//this will force android to fallback to other available n/w which is 3G
}
while(true) {
NetworkInfo ni = cm.getActiveNetworkInfo();
if(ni != null && ni.getType() == ConnectivityManager.TYPE_MOBILE && ni.isConnected()) {
//send your http request
break;
}
//sleep for some time, so that android can connect you to other n/w
}
您可能需要遍歷所有活動的n/w,並斷開它們,直到你找到3G網絡。我假設只有一個Wi-Fi網絡和一個3G網絡可用。
請不要轉發您沒有得到答案的問題。它只有幾個小時。可能需要幾天的時間才能得到很好的答案,重複的問題只會污染數據庫。 – 2010-08-31 04:31:21