Storage Permissions (
READ / WRITE) and DefaultFileScope
DefaultFileScope (AI2, Appzard, Niotron, Kodular:
DefaultFile) property in the Designer doesn’t convince me at all. I consider this to be dispensable / superfluous (not to say: confusing).
DefaultFileis set to Legacy
READ & WRITEpermissions are declared in the Manifest. WRITE permission even (incorrectly) on Android 11+. Note:
WRITEpermission does no longer exist on Android 11+.
Why shouldn’t the storage permissions be declared like this on all Android versions:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28" />
or this (since AI2, Appzard, Niotron, … decided to declare
requestLegacyExternalStorage=truein the Manifest, so it continues to work on Android 10):
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="29" />
I have already asked this question on the AI2 forum countless times and have not yet received an answer.
Since storage permissions are requested since API 23 (Android 6) at runtime, it should not be a problem / disadvantage at all to always declare them in the Manifest.
Only on Android < 6, storage permissions (
READ / WRITE) are requested and granted at install-time to be able to install an app.
You can remove them from the Manifest if the app doesn’t need them and if you don’t want users to have to grant them. However, this was also the case before.
So I would like to hear a single argument against my proposal. → @MohamedTamer
(As I said, I haven’t received any response at all from the MIT AI2 team so far!)
The huge advantage, however, would be that it would simplify a lot and prevent countless permission bugs and issues. I have pointed this out in countless topics and posts in the AI2 forum (and in other AI2 clone’s forums as well).
See also here: