如何以编程方式检查是否“使用无线网络”在 Android 上启用了吗?

发布于 2025-01-05 07:23:51 字数 105 浏览 1 评论 0原文

我不想检查是否有 WIFI 或 3G 连接! 我只是想验证(而不是更改!)“使用无线网络”复选框是否已启用(您可以在“设置”>“位置和安全”>“我的位置”>“此处”中设置) 谢谢

I don't want to check if there is any connectivity over WIFI or 3G!
I just want to verify (and not change!) if the "Use wireless networks"-CheckBox is enabled (the one you can set in Settings > Location and security > My location > HERE)
Thanx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

<逆流佳人身旁 2025-01-12 07:23:51

RajaReddy 的代码将检查 Wifi 网络是否已启用。如果您想知道是否启用了 Wifi 来进行定位,那么这应该可以(将“上下文”替换为有用的内容)

ContentResolver cr = context.getContentResolver();
boolean wifiEnabled = Settings.Secure.isLocationProviderEnabled(cr, LocationManager.NETWORK_PROVIDER);

API 级别 <> 的示例代码。 8

private static boolean isWifiLocationEnabled (Context context) {
    ContentResolver cr = context.getContentResolver();
    String enabledProviders = Settings.Secure.getString(cr, Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
    if (!TextUtils.isEmpty(enabledProviders)) {
        // not the fastest way to do that :)
        String[] providersList = TextUtils.split(enabledProviders, ",");
        for (String provider : providersList) {
            if (LocationManager.NETWORK_PROVIDER.equals(provider)) {
                return true;
            }
        }
    }
    return false;
}

Code from RajaReddy will check if Wifi is enabled for network. If you want to know if Wifi is enabled for positioning then this should do (replace "context" with something useful)

ContentResolver cr = context.getContentResolver();
boolean wifiEnabled = Settings.Secure.isLocationProviderEnabled(cr, LocationManager.NETWORK_PROVIDER);

example code for API Level < 8

private static boolean isWifiLocationEnabled (Context context) {
    ContentResolver cr = context.getContentResolver();
    String enabledProviders = Settings.Secure.getString(cr, Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
    if (!TextUtils.isEmpty(enabledProviders)) {
        // not the fastest way to do that :)
        String[] providersList = TextUtils.split(enabledProviders, ",");
        for (String provider : providersList) {
            if (LocationManager.NETWORK_PROVIDER.equals(provider)) {
                return true;
            }
        }
    }
    return false;
}
謸气贵蔟 2025-01-12 07:23:51

使用此代码

public Boolean isNetAvailable(Context con) {

   try {
      ConnectivityManager connectivityManager = (ConnectivityManager) con.getSystemService(Context.CONNECTIVITY_SERVICE);
      NetworkInfo wifiInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

      if(wifiInfo.isConnected()) {
         return true;
      }
   }catch(Exception e){
      e.printStackTrace();
   }
   return false;
}

需要以下权限

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

use this code

public Boolean isNetAvailable(Context con) {

   try {
      ConnectivityManager connectivityManager = (ConnectivityManager) con.getSystemService(Context.CONNECTIVITY_SERVICE);
      NetworkInfo wifiInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

      if(wifiInfo.isConnected()) {
         return true;
      }
   }catch(Exception e){
      e.printStackTrace();
   }
   return false;
}

and following permissions are required for this

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文