Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

A very big problem with Android 11 and permissions.



  • Hi, My app has to store some data in a local folder. So at start it creates a folder if does not exists.
    In order to read and write, my manifest file has got the following parameters:

    <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="28"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    

    and everything works well.
    The problem is that google play requires targetSdkVersion=29
    If I change my manifest file using targetSdkVersion=29 my app can't create the folder!
    The app log says:

    "android.permission.READ_EXTERNAL_STORAGE already granted"
    "android.permission.WRITE_EXTERNAL_STORAGE already granted"
    "/sdcard/.abcd" mkdir() Error!!
    

    How can I resolve the problem? With Android 6 everything works well



  • Seems to be solved using

    android:requestLegacyExternalStorage="true"
    

    The row above works for api 29 (Android 10) but not for api 30 (Android 11)
    The api 30 solution is wanted.


  • Moderators

    @mrdebug said in A very big problem with Android 11 and permissions.:

    Seems to be solved using

    android:requestLegacyExternalStorage="true"
    

    The row above works for api 29 (Android 10) but not for api 30 (Android 11)
    The api 30 solution is wanted.

    There was a discussion about this recently on the Interest Mailing List: https://lists.qt-project.org/pipermail/interest/2021-May/037085.html

    You can subscribe to the list at https://lists.qt-project.org/listinfo/interest and join the discussion.


Log in to reply