When I implement a Photo Picker functionality in my app using Photo Picker Android library. I have access only Camera, Screenshot and Download folders including some recent photos/videos, Not the complete access. But in one of the google implemented app (Snapseed), Same kind of photo picker can access the Intent.ACTION_GET_CONTENT picker to acess other directories after clicking on browse button. For reference I have attached a screenshot
Can anyone please help me, how to achieve the browse button in native android photo picker?
I was able to get the "Browse" option by using
ActivityResultContracts.GetContent()
instead ofActivityResultContracts.PickVisualMedia()
. What this is effectively doing is creating the following Intent:I believe you can launch that intent directly or my code is using the ActivityResultContracts paradigm inside of a composable so it looks like this:
Previously I was using
ActivityResultContracts.PickVisualMedia()
as outlined in the docs. With that, I wasn't getting the browse option on the photo picker. With the code above, I do. I also tested on an Android 11 device and it works fine using the old gallery UI.Now I can't really explain why this works so use at your own risk. I find documentation for PhotoPicker and Gallery selection in general very poor. But this seemed to work for me.