Android WifiInfo getHiddenSSID неверное возвращаемое значение - PullRequest
0 голосов
/ 30 сентября 2019

Кто-нибудь знает, почему метод getHiddenSSID всегда возвращает false, даже если Wifi скрыт? Поэтому я проверил реализацию, и похоже, что она будет проверена, только если SSID не является нулевым или пустым. Но в документации сказано

true, если эта сеть не передает свой SSID, поэтому для сканирования должен использоваться специфический для SSID пробный запрос.

Метод, который будет проверятьесли это скрытый ssid

     * @return {@code true} if this network does not broadcast its SSID, so an
     * SSID-specific probe request must be used for scans.
     */
   public boolean getHiddenSSID() {
        if (mWifiSsid == null) return false;
        return mWifiSsid.isHidden();
    }

   public boolean isHidden() {
        return isArrayAllZeroes(octets.toByteArray());
    }

   private boolean isArrayAllZeroes(byte[] ssidBytes) {
        for (int i = 0; i< ssidBytes.length; i++) {
            if (ssidBytes[i] != 0) return false;
        }
        return true;
    }

Так что я действительно не уверен, что это ожидаемый результат, потому что, например, когда вы отключаете службы определения местоположения на android q, это всегда будет верно, но это не так.

...