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以下  当然可以根据自己的需求去选择不同的方法。

简单记录一下

你可能感兴趣的:(Android 实时网络检测)