Note that you can still use Legacy mode in these situations while we work on fixing the issues with shared scope storage.
At least the apps will be safer for users
See here:
how can i see nb187 source code??
Mere mortals cannot see that "branch" - probably for good reason
The v187 tag (as linked by @BeksOmega) is the closest you can get to seeing the nb187 sources. When we do a release, we tag the open source version with the v###
tag and then apply our private branding (Terms of Service, private keys, etc.), and that becomes the corresponding version put on ai2.appinventor.mit.edu.
Here is a test APK that only works with the File component (no extension is used):
Tested on Android 11 (Pixel 2XL).
Bugs:
-
File.Exists
from assets does not work with the APK (Companion works).
-
WRITE
permission must be declared in the Manifest so that it works after the automatic request of storage permission.
If the permission is denied:
"Error 908: The permission READ_/WRITE_EXTERNAL_STORAGE permission has been denied. Please ...
" depending on which action is carried out.
If the permission is granted, however, it works, althoughWRITE
permission can of course no longer be granted under Android 11, since it no longer exists there. -
All shared folders work without problems, except
/Documents
.
The folder/Download
works with all file types (txt, jpg, mp3, ogg, mp4, ...
).
Non-media files (like.txt
) should only work with/Download
and/Documents
.
I don't have an android11 device. Should android10 also allow writing to shared folders without write permission? I wanted to test the write, but components that write anything ask for write permission.
yes...
therefore the permission should be defined like this
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="28" />
see also @Anke's tests, for example this one
Taifun
This should have been the first easy fix to nb187 to facilitate further testing on all devices.
The point here is not whether or not WRITE
permission is granted, just whether WRITE
is declared in the Manifest. As I said several times, WRITE
can no longer be granted under Android 11.
Yes, see also here:
If requestLegacyExternalStorage
for Android 10 is not used, then set maxSdkVersion
to 28, otherwise to 29.
My question is, does android10 allow writing to shared folders without write permission? Same as in ASD.
short answer yes
long answer: see again here Testing the next release of MIT App Inventor (nb187)
Taifun
OK thanks. So we should also remember about android 10 during corrections, so that the app does not ask for permissions when we do not have the scope set on Legancy.