有许多关于如何在Android中检测网络连接的问题。链接https://dev59.com/j2855IYBdhLWcg3woVw_#4239019提供了非常详细的答案,而链接https://dev59.com/r3E85IYBdhLWcg3wYicB#8548926则展示了识别所连接网络类型的方法。
我们使用类似那些答案的代码来检测网络连接,例如:
这让我们能够在用户离线时警告用户。然而,它并不能帮助我们确定用户是否有限制的连接。有些限制连接条件会导致用户抱怨,这些包括:
有没有好的方法来确定用户是否有完全功能的网络连接?
我正在考虑调用一个轻量级的 Web 服务来验证他们的连接性,并在应用程序未从服务中获得有效返回时警告用户。这样做是否过度?还是其他人也不得不采取类似的技术手段?
我们使用类似那些答案的代码来检测网络连接,例如:
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
这让我们能够在用户离线时警告用户。然而,它并不能帮助我们确定用户是否有限制的连接。有些限制连接条件会导致用户抱怨,这些包括:
用户连接到家庭WiFi网络,但电缆调制解调器或互联网服务不可用。
用户在酒店或咖啡店,并成功连接到WiFi网络,但网络要求他们登录或同意服务条款才能获得完整的网络访问权限。
有没有好的方法来确定用户是否有完全功能的网络连接?
我正在考虑调用一个轻量级的 Web 服务来验证他们的连接性,并在应用程序未从服务中获得有效返回时警告用户。这样做是否过度?还是其他人也不得不采取类似的技术手段?