PhotoPickerCompat is a small open-source Kotlin library for Android. It wraps the modern Photo Picker and falls back automatically, with no permissions, on devices where the picker isn't available. Apps get photo selection with no READ_MEDIA_IMAGES and no READ_EXTERNAL_STORAGE permission, on any Android version.
We hit this exact problem while shipping #HashKit. Google Play rejected the app for asking for broad photo permissions for a feature that only needed one user-picked photo. Google's answer is the Photo Picker, but most sample code ignores what happens on the many active devices that don't have it. PhotoPickerCompat answers the "else" case.
Kotlin, AndroidX Activity Result APIs, Robolectric and JitPack.
Open source under the MIT licence at github.com/mukeshkumar356/PhotoPickerCompat.