My code works in all android versions except android 11 . In android 11 i am stuck with the following exception open failed: EACCES (Permission denied). What is the solution for the error .
val widthHeight = TrimmerUtils.getVideoWidthHeight(this, uri)
var width = widthHeight[0]
var height = widthHeight[1]
var bitrate = ""
if (widthHeight[0] > 900 || widthHeight[1] > 900){
width
height
bitrate = "1M"
} else
bitrate= "400k"
What i tried is
Added
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"/>
added
<application android:requestLegacyExternalStorage="true"
Added
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE),
101)
}
Reference :
When I update from Android 10 to 11, I get "open failed: EACCES (Permission denied)"
Exception 'open failed: EACCES (Permission denied)' on Android
How to resolve fileNotFoundException - open failed: EACCES (permission denied)
Error reading and writing files on android 11 open failed: EACCES (Permission denied)
Android - FileNotFoundException open failed: EACCES (Permission denied)