gpt4 book ai didi

android - 在下面给出的功能中,哪个是检查 android 中互联网连接的更好方法?

转载 作者:行者123 更新时间:2023-11-29 01:44:47 26 4
gpt4 key购买 nike

如果我们使用任何类型的互联网连接,最好在发出任何 HTTP 请求之前检查互联网连接状态以避免 http 异常。我们可以用给定的方式做到这一点

1- 我们可以使用下面的函数/方法

public static boolean getConnectivityStatusString(Context context) {
int conn = NetworkUtil.getConnectivityStatus(context);
boolean status = false;
if (conn == NetworkUtil.TYPE_WIFI) {
status = true;
} else if (conn == NetworkUtil.TYPE_MOBILE) {
status = true;
} else if (conn == NetworkUtil.TYPE_NOT_CONNECTED) {
status = false;
}
return status;
}

其中NetworkUtil如下

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

public class NetworkUtil {

public static int TYPE_WIFI = 1;
public static int TYPE_MOBILE = 2;
public static int TYPE_NOT_CONNECTED = 0;


public static int getConnectivityStatus(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (null != activeNetwork) {
if(activeNetwork.getType() == ConnectivityManager.TYPE_WIFI)
return TYPE_WIFI;

if(activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE)
return TYPE_MOBILE;
}
return TYPE_NOT_CONNECTED;
}
}

V/S

2- 我们可以使用下面的函数/方法

public boolean isConnectingToInternet(){
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;
}

QUESTION==> 我的问题是哪个是更好的做法来使用我们只对移动设备感兴趣的第一个函数/方法中的函数/方法wifi 状态但是在第二个函数/方法中我们正在检查可用的连接信息!

最佳答案

我假设您在此 github 中引用了 NetworkUtil , 它不是 Android SDK 的一部分; ConnectivityManager 是(在 API 级别 1 中添加的,即从 Android SDK 的最开始)。

如果可能,请始终使用 Android SDK 函数而不是第 3 方库,因为会有更好的支持,并与 future 的 Android 操作系统兼容。

简而言之,使用 ConnectivityManager 直到它被弃用。

引用:ConnectivityManager

关于android - 在下面给出的功能中,哪个是检查 android 中互联网连接的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22162326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com