在wifi开启的情况下,能够在数据网络上force的GSM设备上,但是在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。
假设Phonebase用于GSM,而CDMAPhonebase用于扩展PhoneBase的CDMA。
在上面的固件代码和code1 code2上找不到太多信息。CDMA固件是否已应用了其他设计?
谢谢
尼兹
最佳答案
int resultInt = connMgr.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE, "enableHIPRI");
如果设备不支持HiPri,将返回-1;否则,返回-1。您必须通过关闭wifi(并在完成后将其恢复为以前的状态)来强制3g / 4g连接。
不记得所有的CDMA设备是否都不支持HiPri,但它可能是您正在测试的设备吗?