--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/55DC05A3.2040500%40gmail.com.
For more options, visit https://groups.google.com/d/optout.
There might be many applications that do not want to make the move to the new permission system even if mapsforge supports it.
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/55DF4926.4030806%40gmail.com.
I have to better understand how the new runtime permissions will work within apps.
I agree that multiple branches are undesirable, but I think we will need two code branches depending on what level an app will target. That should maybe not be two git branches, but conditional execution within the code.
Maybe I'm missing something here, but why the connection of the API level we build Mapsforge and the API level that developers use in their applications?(Note that we don't use any M features in Mapsforge code)
that was my first thought as well. isn't the permission stuff the duty of the app developer?
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/55FC7B8B.2080304%40gmail.com.
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/55FD1C7C.6090301%40gmail.com.
So we will need to insert some additional code in the main library for the following situations:
- Reading map file from storage.
- Writing/reading cache.
Location: LocationOverlayMapViewer continues to function but without location marker. After permission is returned, location marker reappears. This seems sensible behaviour and as this is userland/Samples code it is not strictly required to provide additional code.
Storage: storage in the Samples case also prevents reading the map file, so the Samples app crashes. For map files stored in app storage or downloaded from internet, this does not apply (tested). The DownloadMapViewer continues to work, as it cannot write to cache it simply stops writing to cache. There is no error or warning message generated.So we will need to insert some additional code in the main library for the following situations:
- Reading map file from storage.
- Writing/reading cache.
I think the cache is best placed in one of the app-owned directories, e.g. app external storage. Those directories can be accessed without permission.
WRITE_EXTERNAL_STORAGE
and READ_EXTERNAL_STORAGE keep being requested (via AndroidManifest.xml) for pre-KitKat devices.--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/20b13a30-38c8-46f2-a8db-7194ca0082b8%40googlegroups.com.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
and that works with no permission for storage shown that can be revoked.
Compiling with target-sdk 23, the effect is that permissions are not granted automatically at installation time, so an app will apparently crash that does not include the code to ask the user to grant permission.
I installed the map into private app storage (in /data/ not /sdcard/, so no read permission is needed for map data.
1) No storage permission asked for. This works as cache is silently disabled in apps below 19 and cache is used without permission from 19 on.
2) With <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" /> cache works in all versions. In Android 6, no permission that can be revoked is shown.
The second comment was a more general one on how I now understand the runtime permissions work in Android 6 (when compiled with target 23): then the permissions are not automatically granted even if they are declared.
So if we set target 22, we indeed have old behavior in Android 6 ?
At the end you make me to start searching also the permissions behavior, we cannot postpone it for ever.. :)
--
Emux
--
You received this message because you are subscribed to the Google Groups "mapsforge-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapsforge-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mapsforge-dev/56068077.8030401%40gmail.com.
| Samples-runtimepermissions-debug.apk |
The same happened to me when i test
We have Moto G XT1068
And without runtime permissions also crash..
BTW We have no crashes until update to android 6.0