关于网络状态监听
由于移动设备网络环境不太稳定,当网络发生变化的时候,项目中经常需要给用户一些提示,在LayaNative中有两种方法,可以获得网络环境变化。
1.监听方式
Section titled “1.监听方式”开发者可以使用注册监听函数的方式进行监听网络变化,代码如下:
if( conch ){ conch.setNetworkEvtFunction(function(type) { alert(type) });}注意:
1、conch只能在LayaNative环境下调用,在网页版本中是没有conch定义的,所以需要判断一下是否存在。
在LayaAir-IDE中的脚本中添加代码时,如果没有定义,可以这样写:
(window as any).conchConfig.xxxx。
2、还可以使用if(Render.isConchApp)进行判断。
返回值类为int类型
NET_NO = 0;NET_WIFI = 1;NET_2G = 2;NET_3G = 3;NET_4G = 4;NET_YES = 5; /** * 枚举网络状态 * NET_NO:没有网络 * NET_2G:2g网络 * NET_3G:3g网络 * NET_4G:4g网络 * NET_WIFI:wifi * NET_UNKNOWN:未知网络 */2.查询方式
Section titled “2.查询方式”开发者还可以通过主动查询的方式,查询网络状态,代码如下:
if( conch ){ var nType = conchConfig.getNetworkType();}返回值类为int类型
NET_NO = 0;NET_WIFI = 1;NET_2G = 2;NET_3G = 3;NET_4G = 4;NET_YES = 5;例如,在LayaAir-IDE中增加一个脚本,添加如下代码:
onStart(): void { var nType = (window as any).conchConfig.getNetworkType(); console.log("network type: " + nType); }发布Android项目后,测试使用的网络环境为WiFi环境,因此Android Studio控制台打印的信息为:network type: 1。