Can application see all WIFI SSID? I read the Wi-Fi scanning overview, but I am not sure if an application has the ability to read the Wifi access points around me.

I don't give location permissions.
I turn location service OFF.

The application manifest:


  This app has access to:
  Storage
  modify or delete the contents of your USB storage
  read the contents of your USB storage
  microphone
  record audio
  Location
  precise location (GPS and network-based)
  Device history and apps
  Retrieve running apps
  SMS
  receive text messages (SMS)
  Phone
  directly call phone numbers
  read phone status and identity
  Identity
  find accounts on the device
  read your own contact card
  Call and device ID information
  read phone status and identity
  Private Wi-Fi
  view Wi-Fi connections
  Camera
  take pictures and videos
  Images / Media / Files
  modify or delete the contents of your USB storage
  read the contents of your USB storage
  Contacts
  the find accounts on the device
  read your contacts
  Other
  receive data from Internet
  read frame buffer
  change screen orientation
  change your audio settings
  view network connections
  prevent device from sleeping
  pair with Bluetooth devices
  install shortcuts
  uninstall shortcuts
  connect and disconnect from Wi-Fi
  full network access
  control vibration
  run at startup
  read battery statistics
  access Bluetooth settings
  use accounts on the device


So it can:


view network connections
view Wi-Fi connections
connect and disconnect from Wi-Fi
full network access


Will it be able to read the WIFI SSIDs around?

I see Android 8 needs at least 1 of the permissions: CHANGE_WIFI_STATE So will this be good enough?
On Android 10 will it also need location permissions?

So I understand correct ?
In Android 8:

getScanResults() only by asking CHANGE_WIFI_STATE (which is not needed from user to approve ?)
Yes, an app can see all surrounding WiFi SSIDs with correct permissions.

This is the main use case for WiFi analyzer apps (not affiliated, just to show as an example, have been using one of the listed apps).

As for the permissions required, the already mentioned Wi-Fi scanning overview states:


Android 8.0 &amp; Android 8.1: any one of 


ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
CHANGE_WIFI_STATE

Android 9: all of


ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION
CHANGE_WIFI_STATE
Enabled location services (under Settings > Location)

Android 10: all of


ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION
CHANGE_WIFI_STATE
ACCESS_WIFI_STATE
Enabled location services (under Settings > Location)