Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Storage Permission in Android 13 - Flutter

I'm making the use of read and write permission for accessing external storage and for getting the permission, I'm using the permission handler package

AndroidManifest.xml

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

For getting the permission from user

var status = await Permission.storage.request();
if (status.isGranted) {
  Navigator.of(context).pushReplacement(
    MaterialPageRoute(builder: (context) => const Home())
  );
} else if (status.isPermanentlyDenied) {
  openAppSettings();
}

The above permissions and code working perfectly for android versions till 12 but when it comes to android version 13, it is not working up, it just opens up the app setting instead of asking the permission

like image 446
shakti goyal Avatar asked Jan 20 '26 00:01

shakti goyal


1 Answers

setp 1

add permission android manifest

<!-- Required only if your app targets Android 13 or higher. -->
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
     android:maxSdkVersion="33" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 
       android:maxSdkVersion="33"  />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>

setp 2

var status = await Permission.manageExternalStorage.request();
if (status.isGranted) {
  Navigator.of(context).pushReplacement(
    MaterialPageRoute(builder: (context) => const Home())
  );
} else if (status.isPermanentlyDenied) {
  openAppSettings();
}

enter image description here

like image 104
mohammed shamseerpv Avatar answered Jan 22 '26 13:01

mohammed shamseerpv



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!