在 GSM 设备上能够 force在数据网络上如果 wifi 打开,但在 CDMA 设备上它失败。
public boolean isMobileHighPriorityUP() {
ConnectivityManager connMgr = (ConnectivityManager) mCxt.getSystemService(Context.CONNECTIVITY_SERVICE);
State mobileHigh = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE_HIPRI).getState();
Log.d(TAG, "--------- Network HIPRI State --------" + mobileHigh);
if(mobileHigh == State.CONNECTED){
return true;
}
return false;
}
以上在 CDMA 上始终返回 false 但在 GSM 上返回 true..
找到enableHIPRI这里是电话接口(interface)固件代码。
假设Phonebase用于 GSM,CDMAPhonebase用于扩展 PhoneBase 的 CDMA。
找不到关于上述固件代码和code1的太多信息code2 .
CDMA固件是否应用了一些其他设计?你们能在这里解释一下吗?
谢谢
尼特兹
最佳答案
int resultInt = connMgr.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE, "enableHIPRI");
如果设备不支持HiPri,将返回-1;您必须通过关闭 wifi(并在完成后将其恢复到以前的状态)来退回到强制 3g/4g 连接。
不记得是否所有 CDMA 设备都不支持 HiPri,但它可能是您正在测试的设备?
关于java - Android:如果 Wifi 打开,则强制打开数据网络。在 GSM 上工作失败 CDMA 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21473324/