精华内容
下载资源
问答
  • 主要介绍了微信小程序 如何获取网络状态,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Delphi XE5 android 获取网络状态
  • AndroidGetNetwork 安卓获取网络状态,包括热点状态
  • Runtime获取网络状态

    千次阅读 2015-08-05 09:12:25
    获取网络状态的方法有两种。这是我觉得比较方便的一种。还有一种是结合RunLoop去做的,不过那种要导入其他头文件。用起来也是一样。 // // ViewController.m // Runtime获取当前网络状态 // // Created by 陆...



    获取网络状态的方法有两种。这是我觉得比较方便的一种。还有一种是结合RunLoop去做的,不过那种要导入其他头文件。用起来也是一样。


    //
    //  ViewController.m
    //  Runtime获取当前网络状态
    //
    //  Created by 陆巧怡 on 15/8/4.
    //  Copyright (c) 2015年 Simon. All rights reserved.
    //
    
    #import "ViewController.h"
    #import <objc/message.h>
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        [self takeOutThestatusBar];
    }
    
    #pragma 找到状态栏
    -(void)findStatusBar{
        
        //获取当前的app
        UIApplication *app = [UIApplication sharedApplication];
        //遍历当前app的所有属性 找到关于状态栏的属性
        unsigned int outCount = 0;
        Ivar *ivars = class_copyIvarList([app class], &outCount);
        for (int i =0; i<outCount; i++) {
            Ivar ivar = ivars[i];
            const char *name = ivar_getName(ivar);
            NSString *propertyName = [NSString stringWithCString:name encoding:NSUTF8StringEncoding];
            if ([propertyName isEqualToString:@"_statusBar"]) {
                NSLog(@"状态栏");
            }
        }
    }
    
    #pragma 通过KVC找出状态栏
    -(void)takeOutThestatusBar{
        
        //获取当前的app
        UIApplication *app = [UIApplication sharedApplication];
        //通过KVC获取到当前APP的状态栏
        id statusBar = [app valueForKey:@"statusBar"];
        NSArray *childensArray = [[statusBar valueForKeyPath:@"foregroundView"] subviews];
        //NSLog(@"%@",childensArray);
        /*
         UIStatusBarServiceItemView
         UIStatusBarDataNetworkItemView
         UIStatusBarBatteryItemView
         UIStatusBarTimeItemView
         */
        
        int netWorkType = 0;
        for (id child in childensArray) {
            
            if ([child isKindOfClass:NSClassFromString(@"UIStatusBarDataNetworkItemView")]) {
                unsigned int outCount = 0;
                Ivar *ivars = class_copyIvarList([child class], &outCount);
                
                for (int i =0; i<outCount; i++) {
                    
                    Ivar ivar = ivars[i];
                    const char *ivarName = ivar_getName(ivar);
                    /*
                     dataNetworkType  0 - 无网络 ; 1 - 2G ; 2 - 3G ; 3 - 4G ; 5 - WIFI;
                     wifiStrengthRaw
                     wifiStrengthBars
                     enableRSSI
                     showRSSI
                     */
                    //NSString * propertyName=[NSString stringWithCString:ivarName encoding:NSUTF8StringEncoding];
                    //网络状态
                    netWorkType = [[child valueForKey:@"dataNetworkType"] intValue];
                }
            }
        }
        
        switch (netWorkType) {
            case 0:
                NSLog(@"无网络");
                break;
            case 1:
                NSLog(@"2G网络");
                break;
            case 2:
                NSLog(@"3G网络");
                break;
            case 3:
                NSLog(@"4G网络");
                break;
            case 5:
                NSLog(@"WIFI网络");
                break;
            default:
                break;
        }
        
        
        
    }
    
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
    }
    
    @end
    


    展开全文
  • React Native 获取网络状态 NetworkInfo

    千次阅读 2016-06-04 11:35:30
    React Native 获取网络状态 NetworkInforeact-native提供了了一个NetInfo类用来获取和监听网络状态。属性与方法 1.addEventListener(eventName:ChangeEventName,handler:Function) 静态方法,用设置网络变化事件监听...

    React Native 获取网络状态 NetworkInfo

    react-native提供了了一个NetInfo类用来获取和监听网络状态。

    属性与方法

    • 1.addEventListener(eventName:ChangeEventName,handler:Function) 静态方法,用设置网络变化事件监听器,同时需要传入回调的处理方法

    • 2.removeEventListener(eventName:ChangeEventName,handler:Function) 静态方法, 用于移除网络事件变化监听器

    • 3.fetch() 静态方法 检测当前网络连接状态

    • 4.isConnectionExpensve(callback:(metered:?boolean,error?:string)=>void) 静态方法,检测当前连接的网络是否需要计费

    • 5.isConnected :ObjectExpression 当前网络是否连接的属性

    构造工具类

    NetWorkTool.js

    /**
     * Created by eleven on 16/6/3.
     */
    
    import React,{
        NetInfo
    } from 'react-native';
    
    const NOT_NETWORK = "网络不可用,请稍后再试";
    const TAG_NETWORK_CHANGE = "NetworkChange";
    
    /***
     * 检查网络链接状态
     * @param callback
     */
    const checkNetworkState = (callback) =>{
        NetInfo.isConnected.fetch().done(
            (isConnected) => {
                callback(isConnected);
            }
        );
    }
    
    /***
     * 移除网络状态变化监听
     * @param tag
     * @param handler
     */
    const removeEventListener = (tag,handler) => {
        NetInfo.isConnected.removeEventListener(tag, handler);
    }
    
    /***
     * 添加网络状态变化监听
     * @param tag
     * @param handler
     */
    const addEventListener = (tag,handler)=>{
        NetInfo.isConnected.addEventListener(tag, handler);
    }
    
    export default{
        checkNetworkState,
        addEventListener,
        removeEventListener,
        NOT_NETWORK,
        TAG_NETWORK_CHANGE
    }
    
    

    使用

    Component.js

    //、、、  
    import NetWorkTool from '../../utils/NetWorkTool'
    //、、、  
    handleMethod(isConnected){
           console.log('test', (isConnected ? 'online' : 'offline'));
       }
    //、、、
    constructor(props) {
        super(props);
        NetWorkTool.checkNetworkState((isConnected)=>{
              if(!isConnected){
                    Toast.show(NetWorkTool.NOT_NETWORK);
              }
            });
      }
    
    componentWillMount() {
           NetWorkTool.removeEventListener(NetWorkTool.TAG_NETWORK_CHANGE,this.handleMethod);
       }
    
    componentWillUnmount() {
          NetWorkTool.removeEventListener(NetWorkTool.TAG_NETWORK_CHANGE,this.handleMethod);
          }
    //、、、
    展开全文
  • 国外大神的Delphi跨平台(Win,Android,IOS)获取网络状态
  • 微信开发 微信中提供了很全面的api,除了小程序的api还有WeixinJSBridge。 // 页面开发 & 小程序开发 wx.getNetworkType({ success: res => { var networkType = res.networkType;...通过JS判断网络状态调...

    微信开发

    微信中提供了很全面的api,除了小程序的api还有WeixinJSBridge

    // 页面开发 & 小程序开发
    wx.getNetworkType({
    	success: res => {
    		var networkType = res.networkType; // 返回网络类型2g,3g,4g,wifi
    	}
    })   
    

    connection

    通过JS判断网络状态调研及实例demo说明

    普通h5页面也是有api的,例如判断是否有网络 的时间onLine和onoffline(更多事件详情);还有就是navigator.connection获取网络状况 API,兼容性有问题,现在可以使用的浏览器不是太多。

    connectionInfo = navigator.connection
    /*
    Chrome:
    downlink: 10
    effectiveType: "4g"
    onchange: null
    rtt: 0
    saveData: false
    */
    

    在这里插入图片描述

    type

    bluetooth: 蓝牙
    cellular: 蜂窝网络(e.g., EDGE, HSPA, LTE, etc.)
    ethernet: 以太网
    none: 无连接
    mixed: 多类型混合
    other: 类型可知,但不可枚举
    unknown: 有链接,但类型未知
    wifi: Wi-Fi
    wimax: WiMAX
    

    effectiveType

    有效连接类型

    '2g'
    '3g'
    '4g'
    'slow-2'
    

    downlink

    有效带宽,M/s

    downlinkMax

    下行最大比特率

    rtt:

    往返时间(round-trip time):表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认,不包含数据传输时间)总共经历的时间。

    是不是有点失望

    参考链接:

    http://wicg.github.io/netinfo/
    https://developer.mozilla.org/zh-CN/docs/Web/API/Navigator/connection
    https://developer.mozilla.org/zh-CN/docs/Web/API/Network_Information_API
    https://juejin.im/entry/5b14aecfe51d4506c95eb1ea

    展开全文
  • [React Native]获取网络状态

    千次阅读 2016-09-19 16:33:49
    使用React Native,可以使用NetInfo API获取手机当前的各个网络状态。 componentWillMount() { NetInfo.fetch().done((status)=> { console.log('Status:'+... }获取网络状态是异步的,上面使用了Promise机制。An

    使用React Native,可以使用NetInfo API获取手机当前的各个网络状态。

        componentWillMount() {
            NetInfo.fetch().done((status)=> {
                console.log('Status:'+status);
            });
        }

    获取网络状态是异步的,上面使用了Promise机制。

    Android端网络状态

    请求网络信息需要先在应用的AndroidManifest.xml文件中添加如下权限字段,申请相关权限:

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    这里写图片描述

    修改完成后,reaload代码是无效的,因为我们修改了Android原生的配置文件,需要重新执行react-native run-android命令。这个命令重新编译对应的Android项目安装包并安装到手机中。

    Android可获取的状态比较多,上面的status可能有如下的值,直接把文档贴出来了:
    + NONE - 设备处于离线状态
    + BLUETOOTH - 蓝牙数据连接
    + DUMMY - 模拟数据连接
    + ETHERNET - 以太网数据连接
    + MOBILE - 移动网络数据连接
    + MOBILE_DUN - 拨号移动网络数据连接
    + MOBILE_HIPRI - 高优先级移动网络数据连接
    + MOBILE_MMS - 彩信移动网络数据连接
    + MOBILE_SUPL - 安全用户面定位(SUPL)数据连接
    + VPN - 虚拟网络连接。需要Android5.0以上
    + WIFI - WIFI数据连接
    + WIMAX - WiMAX数据连接
    + UNKNOWN - 未知数据连接

    IOS端网络状态

    • none - 设备处于离线状态。
    • wifi - 设备处于联网状态且通过wifi链接,或者是一个iOS的模拟器。
    • cell - 设备是通过Edge、3G、WiMax或是LTE网络联网的。
    • unknown - 发生错误,网络状况不可知

    监听网络改变事件

    在获取了网络状态后,开发者还可以通过NetInfo API提供的监听器,监听网络状态改变事件。这样当手机网络状态改变时,React Native应用马上收到通知。

        componentWillMount() {
            NetInfo.fetch().done((status)=> {
                console.log('Status:' + status);
            });
            //监听网络状态改变
            NetInfo.addEventListener('change', this.handleConnectivityChange);
    
        }
    
        componentWillUnMount() {
            console.log("componentWillUnMount");
            NetInfo.removeEventListener('change', this.handleConnectivityChange);
        }
    
        handleConnectivityChange(status) {
            console.log('status change:' + status);
            //监听第一次改变后, 可以取消监听.或者在componentUnmount中取消监听
           // NetInfo.removeEventListener('change', this.handleConnectivityChange);
        }

    判断是否有网络连接

    NetInfo API 为开发者提供了isConnected函数用来判断当前手机是否有网络连接。

    NetInfo.isConnected.fetch().done((isConnected) => {
      console.log('First, is ' + (isConnected ? 'online' : 'offline'));
    });
    

    isConnectionExpensive(仅Android端)

    NetInfo API为开发者提供了 isConnectionExpensive函数用来判断当前网络连接是否付费的。如果当前连接是通过移动数据网络,或者通过基于移动数据网络所创建的wifi热点,都有可能被判定为计费的数据连接。目前这个函数只为Android平台提供。

    NetInfo.isConnectionExpensive((isConnectionExpensive) => {
      console.log('Connection is ' + (isConnectionExpensive ? 'Expensive' : 'Not Expensive'));
    });

    更多精彩请关注微信公众账号likeDev
    这里写图片描述

    展开全文
  • iOS 获取网络状态(包含iphone X /XR/Xs)-附件资源
  • Android获取网络状态

    千次阅读 2017-06-30 16:59:52
    前言:在开发安卓移动端时,几乎每一个app都需要连接网络,因此,对设备的网络状态检测是很有必要的!比如:检测当前网络是否可用,当前可用的网络是属于WIFI还是MOBILE等等。 实现步骤流程: 1 .获取...
  • uni-app 获取网络状态

    千次阅读 2019-11-21 16:19:23
    uni.getNetworkType(OBJECT)获取网络类型。 OBJECT 参数说明 参数名 类型 必填 说明success Function 是 接口调用成功,返回网络类型 networkTypefail Function 否 接口调用失败的回调函数complete Function 否 接口...
  • 时时监测安卓移动设备网络状态,2g、2.5g、wifi监测
  • iOS实时获取网络状态之RealReachability

    千次阅读 2016-06-29 15:33:22
     关于iOS网络状态获取之前一直在用Reachability,后来发现无法实时获得网络状态的变化,并且不能很好的判断网络状态,最近发现了一个好用的开源库RealReachability  github地址:...
  • react-native 获取网络状态

    千次阅读 2017-08-04 16:04:12
    ReactNative 中有 个模块NetInfo,可以获取设备的联网或者离线状态。 有如下几个方法: ...这个reach为获取到的网络状态,有如下字段: IOS 以异步的方式判断设备是否联网,以及是否使用了移动数
  • 获取网络状态:wx.getNetworkType btnclick:function(){ wx.getNetworkType({ success:function(res){ console.log(res); }; }); } 转载于:https://www.cnblogs.com/e0yu/p...
  • Android 获取网络状态

    2015-09-11 10:00:20
    这就需要使用我们的ConnectivityManager 来帮助我们获取网络状态了。下面我们看下它的简单使用。   使用步骤: 1、获取ConnectivityManager对象(getSystemService(Context.CONNECTIVITY_SERVICE)) 2、通过...
  • 小程序获取网络状态

    千次阅读 2017-11-14 16:26:00
    view>手机网络状态:{{netWorkType}}view>  js: Page({ data: { netWorkType:'' }, onLoad: function () { var that=this wx.getNetworkType({ success: function(res) { that.setData({
  • 要想知道当前手机的网络状态可根据状态栏获取,可以区分2G、3G、4G、WIFI,系统的方法,比较快捷,话不多说,上示例代码(代码经过测试,可放心安全使用):// 获取当前网络状态 - (NSString *)getNetWorkStates{ ...
  • C#获取网络状态是否有网络连接

    千次阅读 2017-12-08 17:11:03
    public static int getNetStatus() { System.Net.NetworkInformation.Ping ping;... MessageBox.Show("获取网络状态异常:"+err.ToString()); //MessageBox.Show("获取网络状态异常"); return 1; } }
  • Android安卓获取网络状态

    万次阅读 2014-12-09 00:42:22
    首先在AndroidManifest.xml添加权限 1,判断是否有网络连接
  • Wifi相对于其他几种网络连接方式,其速度会更快。Wifi一般都是免费供用户使用,通过移动数据网络是需要根据使用流量进行计费的。我们考虑这样一个场景,小程序需要下载一些文档,然后通过小程序的能力去...
  • 1. 区分浏览器:微信,uc,QQ,谷歌 网上常见的区分手机浏览器的方法不对。 ``` ... var u = navigator.userAgent, app = navigator.appVersion;... 还有什么办法可以在QQ,谷歌等浏览器获取当前的网络状态吗?
  • 【Unity】Unity 获取网络状态

    千次阅读 2016-11-30 14:24:16
    if (Application.internetReachability == ...NetworkReachability.ReachableViaCarrierDataNetwork 通过运营商数据网络可达 NetworkReachability.ReachableViaLocalAreaNetwork 通过局域网络可达(wifi)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 689,197
精华内容 275,678
关键字:

获取网络状态