有個需求是 在android 項目中當網(wǎng)絡不太好時 需要實時監(jiān)測到網(wǎng)絡狀態(tài)給客戶反饋網(wǎng)絡情況? 查看了好多資料最后決定用Facebook推出的這個jar解決問題 現(xiàn)將其使用方法記錄如下:
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, "當前網(wǎng)絡差", Toast.LENGTH_SHORT).show();
}
當name.equals("POOR")時 網(wǎng)速為150K以下? 當然可以根據(jù)自己的需求去選擇不同的方法碰辅。
簡單記錄一下