Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查Android中的良好连接_Android - Fatal编程技术网

检查Android中的良好连接

检查Android中的良好连接,android,Android,事实上,我有一个功能来检查互联网连接。。。即: public boolean isOnline() { ConnectivityManager cm = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = cm.getActiveNetworkInfo(); if (

事实上,我有一个功能来检查互联网连接。。。即:

public boolean isOnline() {
        ConnectivityManager cm =
            (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netInfo = cm.getActiveNetworkInfo();
        if (netInfo != null && netInfo.isConnectedOrConnecting()) {
            return true;
        }
        return false;
    }
但是,如果我有一个低信号连接。。当我登录我的应用程序,它需要很多时间,它崩溃。如果我想检查良好或快速的连接,我该怎么做?比如超时条件之类的


多谢各位

首先,您应该确保是否(不)使用wifi。然后,您可以使用

如果您想检查连接的wifi的信号强度(这不能保证网络良好!),您可以使用

WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int level=WifiManager.calculateSignalLevel(wifiInfo.getRssi(), 5 /** this is how many levels MAX should be displayed **/);
电平越高,信号越好。您还可以使用wifi.level获取dBm-100比0。0是最高的。干杯

编辑:因为你的“应用程序崩溃”。
听起来你在主界面(ui/线程)中做的事情太多了。确保它位于自己的线程或用于长时间操作的异步任务中。

感谢您提供详细的答案:DNo问题。如果这有助于你解决问题,请不要忘记给你打分/投票。你好,伊曼纽尔
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int level=WifiManager.calculateSignalLevel(wifiInfo.getRssi(), 5 /** this is how many levels MAX should be displayed **/);