Why does WiFi SSID restriction need the location permission?

Android 8.1 and newer requires

  1. apps which want to determine the active WiFi name (SSID) to have the location permission and
  2. that location services are actually active (usually by enabling "location" in the Android quick settings).
  3. Since Android 10, location must also be made available "all the time" (see screenshot) because DAVx⁵ needs to detect the WiFi connection while synchronizing in the background.

This is because the WiFi name/SSID can theoretically be used to determine your location. For example, imagine that you're in the WiFi "Berlin Public Transport" – apps which can read this information could track your location just based on the WiFi name.

So, if you want to restrict DAVx⁵ synchronization to specific WiFi SSIDs on Android 8.1+, you need to

  • give DAVx⁵ the location permission all the time (DAVx⁵ will ask for it),
  • have location services enabled on your device all the time.

This is only required to restrict synchronization to specific WiFi networks. To restrict synchronization to WiFi networks in general, no additional permissions are needed.

If you have chosen "Don't ask again" …

If you have chosen "Don't ask again" and "Deny" when DAVx⁵ asked for Location permissions, Android won't allow DAVx⁵ to ask again. In this case, you have to enable Location permissions manually if you want SSID restrictions to work.

How to enable: Android settings / Apps / DAVx⁵ / Permissions / enable Location (Android 10+: "all the time")

Last updated: 30 Sep 2019