赞
踩
AOSP默认授予运行时权限的方法如下,tested in android13.
官网文档:
https://source.android.google.cn/docs/core/permissions/runtime_perms#creating-exceptions
注意:
1),若用模拟器验证时,请预置apk和xml文件到系统中,不要adb remount+push。且模拟器启动时加上wipe-data参数:emulator -no-cache -writable-system -wipe-data;
因为授权过程发生在OS user用户首次创建,或新创建用户时。adb remount+push晚于user0的首次启动,会导致用户0system没有授权。
2),若用真机验证,需要在刷机过程中或刷机后,清空一次data分区,再重新启动进行确认。
配置方式,参考:
device/google/cuttlefish/default-permissions.xml
预置到/system/etc/default-permissions/.xml 或vendor/etc/default-permissions/.xml 或/odm/etc/default-permissions/*.xml
<exception
package="com.example.test">
<!-- Notifications -->
<permission name="android.permission.READ_CONTACTS" fixed="false" whitelisted="true"/>
</exception>
fixed=true,表示用户不能手动关闭权限,表现在Settings app里,是一个置灰的开关。fixed=false,可以正常开关。
whitelisted表示一些特殊的运行时权限permissionFlags=hardRestricted或permissionFlags="softRestricted,需要额外添加这个配置。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。