找了好久都没有找到该怎么获得原生平台的设备连接状态.
想要获取当前网络是2G 3G 4G 或者是wifi 或者是没有连接网络!!
找了好久文档都没有找到.
有什么解决方案吗? @jare @panda
navigator.onLine是否联网
navigator.connection.type == 'wifi’联网类型
感谢,感谢, 我这就去试试!!
navigator只对浏览器有效,对于window 原生平台中并没有navigator!!
楼主找到解决方案了么?creator有直接可以判断native的网络连接状态的方法么?是否需要反射机制调用java和oc来获取native的网络连接状态?
帮顶好奇同问,不过感觉只能走native。
native下这种方式可行么?谁把这个问题指定为已经有解决方案的啊
navigator应该只能web下用吧,native下只能通过调用java和oc吧
并没有解决!
已去掉解决状态
我用的代码,只是判断了WIFI,手机网络,没有网络:
1)android java:
public static int GetNetType() {
int netType = 0;
ConnectivityManager connMgr = (ConnectivityManager) getContext()
.getSystemService(getContext().CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if (networkInfo == null) {
netType = -1;
} else {
int nType = networkInfo.getType();
if (nType == ConnectivityManager.TYPE_MOBILE) {
if (networkInfo.getExtraInfo().toLowerCase().equals(“cmnet”)) {
netType = 3;
} else {
netType = 2;
}
} else if (nType == ConnectivityManager.TYPE_WIFI) {
netType = 1;
}
}
return netType;
}
2)IOS:(需要Reachability.h 和Reachability.m,可以去苹果下载,或者用附件里我用的Reachability.rar (2.8 KB))
// -1:nonetwork, 0:未知,1:wifi, 2: mobile : 3:net
int getNetworkType(){
Reachability *reach = [Reachability reachabilityForInternetConnection];
int iType = 0;
switch ([reach currentReachabilityStatus]) {
case NotReachable:// 没有网络
iType = -1;
break;
case ReachableViaWiFi:// Wifi
iType = 1;
break;
case ReachableViaWWAN:// 手机自带网络
iType = 2;
break;
}
return iType;
}Reachability.rar (2.8 KB)
感谢完整的分享
mark
擎引组不晓得有没有打算把这个加进去?
这个应该算是蛮常用的功能
支持引擎组加进去,这个确实常用的。
马克!!!!!!!!!!!!!!!
navigator.connection 在浏览器中是undefined啊。
你看看windows.navigator呢?
chrome中,navigator.connection和window.navigator.connection都是undefined