如何在Google Pixel 3中获取Wi-Fi信息?

时间:2019-03-29 06:58:50

标签: android google-pixel

我无法通过Google Pixel 3中的代码获取Wi-Fi信息,例如SSID名称。

它可以与其他设备一起使用,例如三星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();
     }
}

3 个答案:

答案 0 :(得分:0)

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

 您需要CHANGE_WIFI_STATE才能使用Android Pie。

您可以从此Link

尝试我的解决方案

希望它对您有用!

答案 1 :(得分:0)

我将其与BroadcastReceiver一起使用。 我正在使用的代码试试这个;

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

答案 2 :(得分:0)

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

<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() + "\"";
}

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