我已经创建了一个使用固件密钥签名的系统应用程序,启动应用程序ex时,它正在征求用户的许可。用于存储/位置。我如何在安装时授予权限,而在运行时不要求任何权限?
答案 0 :(得分:2)
我如何在安装时授予许可,不会要求任何许可 运行时获得许可?
如果您的应用是在操作系统版本> = Android M(API 23)上运行的,并且targetSdkVersion
设置为> = 23,则必须将权限归入危险类别(存储/位置权限归入该类别)在运行时被授予。甚至系统应用程序也不能免除此请求。
对于通用应用程序,在安装时仅授予普通级别权限。由于您的应用程序是使用固件密钥签名的,因此它获得的好处是,在安装时将授予普通级别和签名级别的权限。有关更多详细信息,请参见official document。
答案 1 :(得分:1)
我如何在安装时授予权限,而在运行时不要求任何权限?
AFAIK ,如果您使用应用程序 targetSdkVersion >=23
,则是不可能的,因为api 23用户会在运行时而不是在安装应用程序时授予所有危险权限
将targetSdkVersion设置为23以下是个坏主意,因为请阅读此Target API level requirement from late 2018
bindService()的隐式意图不再受支持(Android 5.0)
运行时权限(Android 6.0)
默认情况下,安全连接(Android 7.0)
未经明确的用户批准(Android 8.0)