如果可以,尽量用高版本 Android ,因为高版本通常权限管控更严格,甚至说是 AOSP 对国内用户最重要的内容。国行的 ROM 可能不执行 Play 市场的政策不用 AOSP 的 UI 设计但 AOSP 本身的权限政策是只紧不松的,自分发渠道没人管,只能看 AOSP 的政策。
高版本 Android+高 TargetAPI 应用是最佳选择,很多隐私限制对高 Target 是强制执行的,无视 Target 强制执行的政策相对慢些但也有。由于 Play 市场有 AOSP 稳定版发布一年内强制执行适配的要求,国内常用有上 Play 的应用基本都服从管理正常上架的,优先用 Play 的版本。例外主要有 QQ ( 2020 断更)、抖音(港版支付用不了)、PDD (查无此人),以及推送可能不工作,可能没办法预载 App Bundle on-demand feature 。
就算用国内版,一般也不会强行索要在外版要求授权或者禁止申请的权限,所以说哪怕 Play 不进来也是能影响国内生态的,有经验的用户可以回忆下 6/10 年前以前是怎么申请存储权限和手机状态权限的。野鸡 APP 可能还是 10 年前的那副模样。
(以下内容以 API Level 指代版本,30=Android11 ,34=Android14 )
具体到照片这事:
1. 系统&Target 至少 30+ 强制执行分区存储
2. Target33+ 媒体权限细分,可以使用照片选择器
当然,坚持用旧版本 APP 也无法获得上述好处,你得自行取舍,或者就多用户/隐私空间吧。另外不要用这些方法跟
Play 市场政策有以下额外好处
1. 禁止非核心功能/风控名义获取所有软件包列表,这个权限并非敏感权限而且有变通手段,想拦要靠国行加补丁(所以我是不觉得原生在这点有优势)
2. 禁止非核心功能/风控名义获取所有文件管理权限
2. 一年强制适配
3.(感觉未必审得出来)禁止可执行代码下载
4. 要求使用 App Bundles (双刃剑,省存储但基本把侧载干没了)
5. 支持 16K 页
6. 搞小动作有可能会被 Play Protect 扬了(美团就被整过,虽然我也不信任 Play Protect )
目前 Play 上面的美团 12.35.236 的 Target 是 35 ,适配了图片选择器,没发现什么问题。
删照片这事其实跟伸缩摄像头抓包一样其实是老黄历的纯技术问题,但要推动研发流程去改善就是要外部反馈推一下,不然程序说启动就预热相机不好也没人鸟。
Target30 行为变更,每个版本都有一个列表的:
https://developer.android.com/about/versions/11/behavior-changes-11媒体存储:
https://developer.android.com/training/data-storage/shared