问题描述:
【测试步骤】:
1.相机中开启“记录位置信息”,拍摄一张照片;
2.进入设置-安全-照片分享隐私保护,关闭此开关,通过蓝牙方式分享照片;
3.对方收到并保存后,查看照片详情;
预期结果:
开关关闭时,收到的照片会显示位置信息;
实测结果:
收到的照片无位置信息显示。
出现概率:
必现
【原因分析】:
一些照片在其数据中会包含位置信息,而这些信息属于敏感信息,Android10之后变更了权限管控机制,如果用户需要查看拍摄照片的位置,则需要在对应模块通过新增 ACCESS_MEDIA_LOCATION 权限,并使用MediaStore.setRequireOriginal()获取
【解决方案】:
需要申请ACCESS_MEDIA_LOCATION权限,并使用MediaStore.setRequireOriginal()获取
代码位置:
packages/apps/Bluetooth/src/com/android/bluetooth/opp/BluetoothOppReceiveFileInfo.java
AndroidManifest.xml 中增加