gpt4 book ai didi

android - 为什么当我在 android 中检查互联网连接时,我得到了真正的值(value)?

转载 作者:行者123 更新时间:2023-11-29 15:45:38 26 4
gpt4 key购买 nike

我是 android 初学者,想编写简单的应用程序来检查手机是否连接到互联网?
添加此权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


并写下这段代码:

boolean check_net=isNetworkConnected();


和这个方法:

private boolean isNetworkConnected() {
ConnectivityManager cm =
(ConnectivityManager) getSystemService(testSendWithFood.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
return netInfo != null && netInfo.isConnectedOrConnecting();
}


但总是返回真值给我!,我断开互联网但返回真值!,为什么?

最佳答案

试试这个,

if (ConnectivityDetector.IS_INTERNET_AVAILABLE(MainActivity.this)) {
// Do your stuff
} else {
Toast.makeText(MainActivity.this, "No internet connection available.", Toast.LENGTH_SHORT).show();
}

ConnectivityDetector.java

public class ConnectivityDetector {

public static boolean IS_INTERNET_AVAILABLE(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;
}
}

AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />

检查android中的互联网功能需要上述权限。

关于android - 为什么当我在 android 中检查互联网连接时,我得到了真正的值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33564397/

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