I'm following along this thread, and calling saveFrames MediaMetadataRetriever.getFrameAtTime() returns only first frame
He is saving in Environment.getExternalStorageDirectory()+ "/videos/frames/" . Which turns out to be "/storage/emulated/0" . When I click on device explorer and "/storage/emulated" it says "Permission denied". Is there a way to access this, or is there another place that I can store the data?
Update: So here's how I solved it. I can cd to that /storage/emulated/0 using adb shell. However I cannot write to it. I change the directory name to
String folder = this.getExternalFilesDir(Environment.DIRECTORY_PICTURES) + "/frame/" ;
I can see all the files there. To retrieve the files and view them, I use
adb pull /storage/emulated/0/Android/data/com.example.<app>/files/Pictures/frame
Here are more detailed discussions on storage permissions:
WRITE_EXTERNAL_STORAGE when targeting Android 10
Android Studio - How to use getExternalFilesDir
https://developer.android.com/training/data-storage/manage-all-files
https://support.google.com/googleplay/android-developer/answer/10467955
https://developer.android.com/training/data-storage
requestLegacyExternalStorage is not working in Android 11 - API 30
https://www.dev2qa.com/android-read-write-external-storage-file-example/