是否自动授予文件中指定的权限?我是否必须稍后向用户提出要求?
我确实知道有一些权限是关键的并且需要用户的许可,但是在第一次进入应用程序时是否会自动询问用户?开发者应该问他们吗?它是如何工作的?
正如你所提到的 - 如果你的许可是normal permission
,它将被自动授予。
另一方面 - 如果您使用"android.permission.SEND_SMS"
等危险权限,则用户必须接受这些权限。
用户如何接受这些危险权限?
targetSdkVersion
is 22或更低:
在这种情况下,系统会(在系统中)要求用户在安装时授予应用程序的所有危险权限。targetSdkVersion
高于22:
用户在安装时不会接受危险权限。您必须要求用户在运行时授予对危险权限的访问权限 - 当您要求用户在运行时授予对这些权限的访问权限时,他将看到要求他接受或拒绝权限的系统对话框。有关更多信息,您可以查看this
如果设备运行的是Android 6.0(API级别23)或更高版本,并且应用程序的targetSdkVersion为23或更高,则在安装时不会通知用户任何应用程序权限。您的应用必须要求用户在运行时授予危险权限。 https://developer.android.com/guide/topics/permissions/overview#runtime_requests_android_60_and_higher
这里有例子:https://www.journaldev.com/10409/android-runtime-permissions-example