Android 实时网络检测

2018-09-17  本文已影响29人  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以下  当然可以根据自己的需求去选择不同的方法。

简单记录一下

上一篇 下一篇

猜你喜欢

热点阅读