从 API 级别 23 开始,android 引入了一种在应用程序运行时授予“危险”权限的新方法。这意味着必须在运行时授予诸如相机访问、电话访问等权限。
我可以完全理解为什么这通常非常有用,并且在安装过程中对用户没有那么吓人。但是,使用许多此类“危险”权限(出于所有正确原因)的应用程序很容易在运行时因如此多的请求而惹恼用户。是否还有办法强制用户在安装过程中授予“危险”权限?
从 API 级别 23 开始,android 引入了一种在应用程序运行时授予“危险”权限的新方法。这意味着必须在运行时授予诸如相机访问、电话访问等权限。
我可以完全理解为什么这通常非常有用,并且在安装过程中对用户没有那么吓人。但是,使用许多此类“危险”权限(出于所有正确原因)的应用程序很容易在运行时因如此多的请求而惹恼用户。是否还有办法强制用户在安装过程中授予“危险”权限?
是否还有办法强制用户在安装过程中授予“危险”权限?
不,除非您将您的设置targetSdkVersion
为 22 或更低,因此由于向后兼容性,权限是在安装时授予的。
如果您有一个应用程序一次需要太多权限(即权限组)(例如在第一次启动时),您可以考虑重新设计您的应用程序以仅在真正需要权限时才请求权限。
正如 Foern 回答的那样,强制用户在安装而不是运行时接受权限的唯一方法是使用小于 23 的 sdk。随着时间的推移,随着 api 的进一步更新和应用程序逐渐弃用的方法,这将变得难以维护应用程序。
您认为用户“烦恼”的差异并不是那么大。
用户可以将运行时权限保存为默认值,因此每次运行应用程序时都不需要权限。用户也可以随时撤销此权限。但是,在运行时接受权限并使其成为默认答案与在安装时接受它们之间几乎没有区别。
对于开发人员来说,还有一些与运行时权限有关的工作,但对于用户来说,应该通过不必在安装时接受所有权限来增加保护和自主级别。
从链接:
从 Android 6.0(API 级别 23)开始,用户在应用运行时授予应用权限,而不是在安装应用时。这种方法简化了应用程序安装过程,因为用户在安装或更新应用程序时不需要授予权限。它还使用户可以更好地控制应用程序的功能;例如,用户可以选择让相机应用程序访问相机而不是设备位置。用户可以通过进入应用程序的设置屏幕随时撤销权限。