Android如何判断WIFI和数据流量RGPS是否同时打开?
如果WIFI和数据流量RGPS同时打开的话,先检测WIFI是否打开,再去检测数据流量是否打开是只返回WIFI打开的状态,而数据流量RGPS打开与否都不能正确检测到。
如上图,笔者用这种方法是不行的,只能判断出WIFI的正确状态。
那么,可以再单独判断数据流量的状态,如下:
附上代码
/**
* 返回手机移动数据的状态**
@param pContext*
@param arg 默认填null*
@return true 连接 false 未连接
**/
@SuppressWarnings({"rawtypes", "unchecked"})
public static boolean getMobileDataState(Context pContext, Object[] arg) {
try {
ConnectivityManager mConnectivityManager = (ConnectivityManager) pContext.getSystemService(Context.CONNECTIVITY_SERVICE);
Class ownerClass = mConnectivityManager.getClass();
Class[] argsClass = null;
if (arg != null) {
argsClass = new Class[1];
argsClass[0] = arg.getClass();
}
Method method = ownerClass.getMethod("getMobileDataEnabled", argsClass);
Boolean isOpen = (Boolean) method.invoke(mConnectivityManager, arg);
return isOpen;
} catch (Exception e) {
return false;
}
}