Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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_Android Asynctask - Fatal编程技术网

什么';这是在Android应用程序中检查网络状态的最佳方式

什么';这是在Android应用程序中检查网络状态的最佳方式,android,android-asynctask,Android,Android Asynctask,我正在编写一个android应用程序,它经常与web db通信。 这些通信代码段在后台线程(如AsyncTask)中运行。 正如您所知,所有异步任务都应该检查网络状态,以防止设备被阻塞。这是我的问题。 检查网络状态的最佳解决方法是什么。 在我的例子中,我在进入网络层之前检查网络状态。 然后,它会得到这么多的样板代码。我不知道你在问什么,但如果你想知道如何检查设备是否连接到互联网,请使用此代码片段 protected boolean isOnline() { Connectivit

我正在编写一个android应用程序,它经常与web db通信。 这些通信代码段在后台线程(如AsyncTask)中运行。 正如您所知,所有异步任务都应该检查网络状态,以防止设备被阻塞。这是我的问题。 检查网络状态的最佳解决方法是什么。 在我的例子中,我在进入网络层之前检查网络状态。
然后,它会得到这么多的样板代码。

我不知道你在问什么,但如果你想知道如何检查设备是否连接到互联网,请使用此代码片段

    protected boolean isOnline() {
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnectedOrConnecting()) {
        return true;
    } else {
        return false;
    }
}
启用网络\u状态\u访问权限(不确定是否有更多权限,但如果没有,则应为该权限)

public static boolean isconnectedpointernet(上下文){
ConnectionManager连接=(ConnectionManager)上下文
.getSystemService(Context.CONNECTIVITY\u服务);
if(连接性!=null){
NetworkInfo[]info=connectivity.getAllNetworkInfo();
如果(信息!=null)
对于(int i=0;i
它将返回布尔值true或false,true表示互联网已连接false表示互联网不存在。 您需要添加 也就是说,访问internet所需的最新文件

public static boolean isConnectedToInternet(Context context){

    ConnectivityManager connectivity = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    if (connectivity != null) {
        NetworkInfo[] info = connectivity.getAllNetworkInfo();
        if (info != null)
            for (int i = 0; i < info.length; i++)
                if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                    return true;
                }

    }
    return false;
}