openbmap / radiocells-scanner-android

WLAN and cell tower scanner for Radiocells.org
https://www.radiocells.org
Other
56 stars 26 forks source link

Runtime permissions are not requested #220

Open mvglasow opened 5 years ago

mvglasow commented 5 years ago

What steps will reproduce the problem?

  1. Use a device running Android Marshmallow or higher
  2. If Radiobeacon is installed, uninstall it (possibly after backing up all data)
  3. Install Radiobeacon
  4. Start logging

What is the expected output? What do you see instead?

Expected: Logging starts, possibly after asking me to grant certain permissions (storage, location etc.).

Actual: App crashes as soon as I start a log. As a workaround, I can open the app information for Radiobeacon, grant the permissions there, and retry.

What version are you using? On what operating system?

0.8.18 on LineageOS 15.1

Please provide any additional information below.

Prior to Marshmallow (or for apps targeting versions before), the user would confirm all requested permissions on installation. With Marshmallow, and for apps targeting it or a later version, this is no longer the case: Some permissions are granted automatically, others are not. Apps are expected to check at runtime if they have the permission and ask for it, and react gracefully if the request is denied.

This will never bite you if you already had Radiobeacon on your device before Marshmallow, never uninstalled (upgrades are OK) and never changed devices (or did a full backup of all settings).