【问题标题】:How to get Wi-FI information in Google Pixel 3? [duplicate]如何在 Google Pixel 3 中获取 Wi-Fi 信息? [复制]
【发布时间】:2019-03-29 06:58:49
【问题描述】:

我无法通过 Google Pixel 3 中的代码获取 SSID 名称等 Wi-FI 信息。

它适用于三星 S10、一加 6 等其他设备。

WifiInfo wifiInfo = wifiManager.getConnectionInfo();
  if (wifiInfo != null) {
      NetworkInfo.DetailedState state =WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState());
     if (state == NetworkInfo.DetailedState.CONNECTED || state == NetworkInfo.DetailedState.OBTAINING_IPADDR) {
       return wifiInfo.getSSID();
     }
}

【问题讨论】:

  • @BlackBlind 我在 Nokia 6、Samsung S10 和 OS 版本 Pie 中测试了这个。我可以获取 SSID 名称。
  • 你的手机操作系统是什么?是Q吗?
  • 这似乎不是引用主题的重复。本主题特别提到谷歌 Pixel 3 是唯一不工作的手机,并将三星 S10 等列为工作。另一个话题根本没有提到 Google Pixel 3。相反,它提到了诺基亚手机的问题。

标签: android google-pixel


【解决方案1】:

我认为这个问题与 Android 最新版本有关。

对于 Android Pie,您需要 CHANGE_WIFI_STATE

您可以通过Link尝试我的解决方案

希望它对你有用!

【讨论】:

  • 没用。我在 Manifest 中有 CHANGE_WIFI_STATE 并且 connManager.getNetworkInfo() 也被弃用了。
【解决方案2】:

我将它与广播接收器一起使用。 我的使用代码试试这个;

  private boolean checkInternet(Context context) {
  ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
  NetworkInfo networkInfo = cm.getActiveNetworkInfo();
     return networkInfo != null && networkInfo.isConnected();
    }

【讨论】:

    【解决方案3】:

    您应该首先在清单文件中添加这些权限。

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

    现在在您的活动中添加此代码。

    ConnectivityManager connManager = (ConnectivityManager) activity.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            if (networkInfo.isConnected()) {
                WifiManager wifiManager = (WifiManager) activity.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
                WifiInfo wifiInfo = wifiManager.getConnectionInfo();
                wifiInfo.getSSID();
                String name = networkInfo.getExtraInfo();
                String ssid = "\"" + wifiInfo.getSSID() + "\"";
    }
    

    它将帮助您在 pie 设备中获取 wifi 名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多