2017-02-09 68 views
-1

我在我的项目中使用Fast Networking Library我得到的响应ConnectionQuality但它总是得到ConnectionQuality.UNKNOWNresponse。我正在使用Fast Networking Library。 以下是我的代码。ConnectionQuality不工作在Android快速网络库中的快速网络库

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"," ==> "); 
     } 
    } 
} 

回答

0

由于Android框架不提供一种方式来获取连接的带宽,所以我已经实现了它的方式,只要你让网络请求其计算采取的数据传输和时间。所以,在最初阶段,你可能会不知道。使用一段时间后,您将能够在该会话中获得正确的连接质量。