有个需求是 在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以下 当然可以根据自己的需求去选择不同的方法。
简单记录一下