autoX判断设备是否联网的两种方法

前言

几乎没有不跟网络打交道的android应用,那么在实际中就需求检测手机是否有网络连接,甚至需要判断是何种方式连接,这样能给用户带来更好的体验和一些使用指导,下面飞云给出一些常用的判断,如果要知道是否有网络、以及是采用wifi连接的还是3G连接的,调用下面第二种方法就OK了,代码如下

方法一

测试指定网址的连接,如果能连接,则说明该设备已联网。

//判断网络连接
//此代码由飞云脚本圈编辑整理(www.feiyunjs.com)
function isNetworking(host, timeout) {
    ui.inlet_tips.setText('连接网络...');
    (function () {
        let request = http.request;
        http.request = function () {
            try {
                return request.apply(http, arguments);
            } catch (e) {
                ui.inlet_tips.setText('连接异常,等待重试...');
                return null;
            }
        }
    })();
    http.__okhttp__.setTimeout(timeout);
    try {
        if (http.get(host).statusCode == 200) {
            ui.inlet_tips.setText('网络正常');
            return true;
        } else {
            ui.inlet_tips.setText('连接失败,等待重试...');
            return false;
        };
    } catch (e) {
        ui.inlet_tips.setText('连接异常,等待重试...');
        return false;
    };
};

方法二

//此代码由飞云脚本圈编辑整理(www.feiyunjs.com)
importClass(android.net.ConnectivityManager);
var cm = context.getSystemService(context.CONNECTIVITY_SERVICE);
var net = cm.getActiveNetworkInfo();
log(net);

// [type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: (none), failover: false, available: true, roaming: false]
// net.type:网络类型(WIFI/MOBILE)

if (net == null || !net.isAvailable()) {
    toastLog("网络连接不可用!");
} else {
    toastLog("网络连接可用!");
}
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » autoX判断设备是否联网的两种方法

企业级大数据智能营销管理系统

了解详情