Android:强制数据通过无线电与WiFi发送

wun*_*tee 14 android radio packet wifi

是否有可能强制Android应用程序仅使用移动无线电连接(3g/4g /等),不允许使用WiFi?

我想我想使用HIPRI连接:(例如:打开WIFI,使用HIPRI 3G):http://groups.google.com/group/android-developers/browse_thread/thread/d41f85505484d29b

Dev*_*red 10

我不相信你可以"强制"连接路径而不会暂时关闭Wi-Fi无线电(不推荐).但是,您可以尝试在希望发生此期间设置网络首选项:

ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
//Prefer mobile over wifi
cm.setNetworkPreference(ConnectivityManager.TYPE_MOBILE);

//Do your work

//Remove your preference
cm.setNetworkPreference(ConnectivityManager.DEFAULT_NETWORK_PREFERENCE);
Run Code Online (Sandbox Code Playgroud)

希望有帮助!

  • 在API级别21中不推荐使用setNetworkPreference()http://developer.android.com/reference/android/net/ConnectivityManager.html#setNetworkPreference(int) (3认同)
  • 就我的测试而言.在ConnectivityService的源代码中,您可以看到设置此首选项会导致系统尝试拆除所连接的任何非首选网络,因此它正在执行我们期望发生的操作.http://codesearch.google.com/codesearch#uX1GffpyOZk/services/java/com/android/server/ConnectivityService.java (2认同)