ConnectionQuality 在 Android 快速网络库中的快速网络库中不起作用

ConnectionQuality is not working in fast network library in Android Fast Networking library

我在我的项目中使用 Fast Networking Library,我必须在其中得到 ConnectionQuality 的响应,但它总是在 response 中得到 ConnectionQuality.UNKNOWN。我正在使用 Fast Networking Library。 下面是我的代码。

    public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button btnNetworkQuality;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        setIds();
        setListner();   

    }

    private void setIds() {
        try {
            btnNetworkQuality = (Button) findViewById(R.id.btnNetworkQuality);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void setListner() {
        try {
              btnNetworkQuality.setOnClickListener(this);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onClick(View view) {
        try {
            switch (view.getId()) {
                case R.id.btnNetworkQuality:
                    checkBandwidth();
                    break;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void checkBandwidth() {
        Log.e("checkBandwidth() ", " ");

        ConnectionQuality connectionQuality = AndroidNetworking.getCurrentConnectionQuality();
        if(connectionQuality == ConnectionQuality.EXCELLENT) {
            Log.e("Good quality "," ==> ");
            // do something
        } else if (connectionQuality == ConnectionQuality.POOR) {
            Log.e("Poor quality "," ==> ");
        } else if (connectionQuality == ConnectionQuality.UNKNOWN) {
            Log.e("Unnown"," ==> ");
        }
    }
}

由于 android 框架不提供获取连接带宽的方法,因此我实现了一种方法,无论何时发出网络请求,它都会计算数据传输和所用时间。所以,在初始阶段,你可能会不为人知。使用一段时间后,您将能够在该会话中获得正确的连接质量。