最初に、ConnectivityManager classを取得します。
ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);NetworkInfo クラスを取得します。例として TYPE_MOBILE の情報を取得しました。
NetworkInfo ni = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);Wifiと3Gが使用できる状態で、setNetworkPrefernce()を使用して、ネットワークの使用優先度を変更しようと主ましたが、変更されませんでした。
cm.setNetworkPreference(ConnectivityManager.TYPE_MOBILE);If you use setNetworkPreference(), you must add CHANGE_NETWORK_STATE feature.
ソースコードはここです。
Androidに関する課題や、ほしいアプリがあればメールやTwitterで連絡ください。試してみます。
最近、似たようなことを調べたので情報共有します。
返信削除Androidでは、WiFiが3Gより優先される仕様です。
両方有効な環境でどうしても3Gを使用したい場合は、WiFiを一時的に無効にするか、プロファイルを切り替えるかですね。
参考URL
http://www.rainbowbreeze.it/tag/startusingnetworkfeature/
http://android.boo.jp/contents/Framework/ConnectivityManager01.html