Android 实时网络检测

有个需求是 在android 项目中当网络不太好时 需要实时监测到网络状态给客户反馈网络情况  查看了好多资料最后决定用Facebook推出的这个jar解决问题 现将其使用方法记录如下:

1.添加依赖:

compile'com.facebook.network.connectionclass:connectionclass:1.0.1'


2. 定义接口:

private class ConnectionChangedListener implements

        ConnectionClassManager.ConnectionClassStateChangeListener {

@Override

    public void onBandwidthStateChange(ConnectionQuality bandwidthState) {

Log.e("onBandwidthStateChange", bandwidthState.toString());

    }

}


3.Activity中声明接口并注册和移除

private ConnectionChangedListenerlistener =new ConnectionChangedListener();

@Override

protected void onResume() {

super.onResume();

    ConnectionClassManager.getInstance().register(listener);

}

@Override

protected void onPause() {

super.onPause();

    ConnectionClassManager.getInstance().remove(listener);

}


4.使用:获取connectionQuality 

 ConnectionQuality connectionQuality = ConnectionClassManager.getInstance().getCurrentBandwidthQuality();

String name = connectionQuality.name();

if (name.equals("POOR")) {

Toast.makeText(context, "当前网络差", Toast.LENGTH_SHORT).show();

}


当name.equals("POOR")时 网速为150K以下  当然可以根据自己的需求去选择不同的方法。

简单记录一下

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容