gpt4 book ai didi

Android ...如何确定我是否在使用 wifi 互联网?

转载 作者:行者123 更新时间:2023-11-29 14:22:18 26 4
gpt4 key购买 nike

在我的应用程序中,我只需要知道设备是否连接到 wifi 网络。我认为此功能适用于模拟器但不适用于真实设备。

public static boolean wifiInternet(Context c)
{
try
{
ConnectivityManager connectivityManager = (ConnectivityManager)c.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = connectivityManager.getActiveNetworkInfo(); // CRASHES HERE
String name = ni.getTypeName();
if(name.equals("WIFI"))
return true;
else
return false;
}
catch(Exception e)
{
return false;
}
}

我在这里使用哪个上下文? getAplicationContext() 或 getBaseContext() 还是我只输入“this”(我从服务调用该函数)。

最佳答案

试试这个:

  public boolean isUsingWiFi() {
ConnectivityManager connectivity = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo wifiInfo = connectivity
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if (wifiInfo != null && wifiInfo.getState() == NetworkInfo.State.CONNECTED
|| wifiInfo.getState() == NetworkInfo.State.CONNECTING) {
return true;
}

return false;
}

您也可以对移动类型使用相同的方法:

  public boolean isUsingMobileData() {
ConnectivityManager connectivity = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo mobileInfo = connectivity
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

if (mobileInfo != null && mobileInfo.getState() == NetworkInfo.State.CONNECTED
|| mobileInfo.getState() == NetworkInfo.State.CONNECTING) {
return true;
}

return false;
}

关于Android ...如何确定我是否在使用 wifi 互联网?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6229401/

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