0

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: enter image description here getScanResults() only by asking CHANGE_WIFI_STATE (which is not needed from user to approve ?)

  • 2
    I would strongly recommend not to use the manifest permission text. Instead download the APK file and directly look into the AndroidManifest.xml to see the actual permissions (like android.permission.ACCESS_COARSE_LOCATION), or use an app that is able to analyze/extract the app permissions. – Robert Oct 14 at 12:55
  • @Robert I do have it: <uses-permission-sdk-23 android:name="android.permission.CHANGE_WIFI_STATE"/> I used app ops to disable this. but was it enogth to read the wifi arounds? – Sion Cohen Oct 14 at 13:02
1

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:

  1. Android 8.0 & Android 8.1: any one of
    • ACCESS_FINE_LOCATION
    • ACCESS_COARSE_LOCATION
    • CHANGE_WIFI_STATE
  2. Android 9: all of
    • ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION
    • CHANGE_WIFI_STATE
    • Enabled location services (under Settings > Location)
  3. Android 10: all of
    • ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION
    • CHANGE_WIFI_STATE
    • ACCESS_WIFI_STATE
    • Enabled location services (under Settings > Location)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.