targetSdkVersion 为安卓14时,优化安卓14上媒体重选逻辑(根据谷歌官方推荐写法) #2837
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
安卓14设备上,如果媒体授权时用户选了
![image](https://private-user-images.githubusercontent.com/22436965/297333884-bc48ab45-0664-4d9a-af79-9cf791ff9c62.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNDc1MzksIm5iZiI6MTczOTM0NzIzOSwicGF0aCI6Ii8yMjQzNjk2NS8yOTczMzM4ODQtYmM0OGFiNDUtMDY2NC00ZDlhLWFmNzktOWNmNzkxZmY5YzYyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDA4MDAzOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThmMTcxNmIwNmM0NjRlYWIwZDFiY2RjYjIyMzAwZmI2MGE4YTY0YjgxNDI5NWYyZmVmMTVjNTY1ZDk0YjkzNmEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.9bkF_olRmbbEFCWJ1ONT7rX_jTuffbRNiErbXaz8Abs)
选择部分照片和视频
选项的话,之后每次进入相册,都会无提示自动弹出系统的选择允许此应用访问的照片和视频
弹窗。这个逻辑对用户来说不太友好,查了谷歌官方文档,官方推荐在无媒体授权且有READ_MEDIA_VISUAL_USER_SELECTED授权
时,提示用户,让用户去选择是否重选媒体文件。官方文档:https://developer.android.google.cn/about/versions/14/changes/partial-photo-video-access?hl=zh-cn#media-reselection
我做的修改:
MediaReselectionTipView
,用于安卓14上的媒体重选提示PictureSelectorFragment
中权限判断相关逻辑,细化出需要处理媒体重选的情况并处理一些情况说明:
MediaReselectionTipView
的样式配置使用了BottomNavBarStyle
中背景色、预览正常字体颜色、预览选中字体颜色、预览正常字体大小ps_fragment_selector.xml
布局中新加了MediaReselectionTipView
,有自己自定义布局的,需要在自己的布局中合适位置加入 MediaReselectionTipView,否则会报错NPEdemo 中各样式效果:
![image](https://private-user-images.githubusercontent.com/22436965/297338495-74651460-dcaa-46ea-ad0b-f4ebed1e910d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNDc1MzksIm5iZiI6MTczOTM0NzIzOSwicGF0aCI6Ii8yMjQzNjk2NS8yOTczMzg0OTUtNzQ2NTE0NjAtZGNhYS00NmVhLWFkMGItZjRlYmVkMWU5MTBkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDA4MDAzOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM4YTAwZTAzZTEzNDNkYTA0N2MwN2Q2ZTM3MjNhNmJmODAyYWI4ZDYzMjE1ZTFkYWVkNzlhMDg2YzE0MmE0MzkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.aPslMlr6O245pWmhGLIJyKQGODzwpbv4abZP1p55yPk)
![image](https://private-user-images.githubusercontent.com/22436965/297338564-329ffd90-f722-4729-bd53-163a32b778d9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNDc1MzksIm5iZiI6MTczOTM0NzIzOSwicGF0aCI6Ii8yMjQzNjk2NS8yOTczMzg1NjQtMzI5ZmZkOTAtZjcyMi00NzI5LWJkNTMtMTYzYTMyYjc3OGQ5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDA4MDAzOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI5NjQ1YWQ0OGVlNTZiZGY1MWUzMjBkNDkyZTIzZjc4MjliYmUyZDdlNGY3MTllOTMxYzQzMGNkOTZiNzFiOWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.fZt1iKTZygmrr4yXbOwvTEvVHazObIWzDGNks0o9uN8)