Android12 展讯 首次按两次power,相机报错问题
现象:Android12 展讯平台,设置密码后,首次在锁屏界面按两下power进入相机,会有error提示。
分析原因:
a12 展讯camera多了一个phone权限的获取(可以看见其他几个权限已经是默认打开了)
解决方案:
frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java 中,把默认权限打开。
--- a/frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
+++ b/frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
@@ -198,7 +198,11 @@ final class DefaultPermissionGrantPolicy {
static {
CAMERA_PERMISSIONS.add(Manifest.permission.CAMERA);
}
-
+ private static final Set<String> CAMERA_PHONE_PERMISSIONS = new ArraySet<>();
+ static {
+ CAMERA_PHONE_PERMISSIONS.add(Manifest.permission.READ_PRECISE_PHONE_STATE);
+ CAMERA_PHONE_PERMISSIONS.add(Manifest.permission.READ_PHONE_STATE);
+ }
// Camera
grantPermissionsToSystemPackage(pm,
getDefaultSystemHandlerActivityPackage(pm, MediaStore.ACTION_IMAGE_CAPTURE, userId),
- userId, CAMERA_PERMISSIONS, MICROPHONE_PERMISSIONS, STORAGE_PERMISSIONS);
+ userId, CAMERA_PERMISSIONS, MICROPHONE_PERMISSIONS, STORAGE_PERMISSIONS,CAMERA_PHONE_PERMISSIONS);
以上方法适用于不过GMS认证的项目 ,过GMS认证的话需要在camera模块去掉上述权限