关于网络状态监听

由于移动设备网络环境不太稳定,当网络发生变化的时候,项目中经常需要给用户一些提示,在LayaNative中有两种方法,可以获得网络环境变化。

1.监听方式

开发者可以使用注册监听函数的方式进行监听网络变化,代码如下:

if( conch )
{
    conch.setNetworkEvtFunction(function(type)
    {
        alert(type)
    });
}

注意:

1、conch只能在LayaNative环境下调用,在网页版本中是没有conch定义的,所以需要判断一下是否存在。

在LayaAir-IDE中的脚本中添加代码时,如果没有定义,可以这样写:(window as any).conch.config.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.查询方式

开发者还可以通过主动查询的方式,查询网络状态,代码如下:

if( conch )
{
    var nType = conch.config.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).conch.config.getNetworkType();
        console.log("network type: " + nType);
    }

发布Android项目后,测试使用的网络环境为WiFi环境,因此Android Studio控制台打印的信息为:network type: 1

Copyright ©Layabox 2022 all right reserved,powered by LayaAir Engine更新时间: 2024-10-23 15:29:59

results matching ""

    No results matching ""