在 Manifest.xml 中自动批准权限

Automatic approval of permissions in Manifest.xml

有一些权限是自动授予的,不需要用户批准(如蓝牙),还有一些权限需要用户授予(如存储)。

哪些权限是自动授予的,为什么?

如果设备是 运行 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

如您所述 - 如果您的权限是 normal permission,它将被自动授予。
另一方面 - 如果您使用像 "android.permission.SEND_SMS" 这样的危险权限,用户将必须接受这些权限。

用户如何接受那些危险的权限?

  • 如果设备 API 级别 <= 22 / targetSdkVersion 为 22 或更低:

    在这种情况下,系统会在安装时要求用户授予该应用所有危险权限。

  • 如果设备API级别>22并且targetSdkVersion高于22:

    用户不会在安装时接受危险权限。 您必须要求用户在 运行 时间授予对危险权限的访问权限 - 当您确实要求用户在 运行 时间授予对这些权限的访问权限时,他将看到系统对话框 要求他接受或拒绝权限。

更多信息,您可以查看this