AndroidManifest.xml 中的最大 Android 权限

Maximum Android permissions in AndroidManifest.xml

据我所知,添加大量权限不会造成问题。那么,为什么开发人员不应该请求所有可用权限,包括不必要的权限?

我注意到 Android 不要求用户获得某些权限。这是什么原因?

您必须遵循权限最佳实践。

  1. 您必须在清单中仅指定您需要的权限。如果您要求的不是必需的或太多,那么用户很可能会在完全 运行 之前就删除您的应用。

  2. 最好在第一次需要时请求每个权限或权限组。不过,如果只是几个权限,您可能可以在开始时立即请求它们。

  3. 在 Manifest 中声明权限的事实并不意味着它已被授予,它仅意味着应用程序将需要它。是的,你仍然需要要求每个人都被授予。

  4. 一个实际的例子。相机应用程序:

    • 第一次 运行s 应该要求存储和相机 权限,因此它可以拍照并将它们写入文件。
    • 然后用户切换到视频模式,此时你可以请求 音频权限,所以视频可以录制音频。
    • 可能应用程序可以在其设置中有一个额外的选项window,这可能 允许在 EXIF 数据中保存 GPS 位置。所以,当访问这样的 设置应用程序可能会请求位置权限。

乍一看,这听起来像是在不同的点发出大量请求,但这是最佳实践指定的方式。请求权限的方式不应让用户不知所措。

下一个 link 中有更多详细信息: https://developer.android.com/training/permissions/usage-notes

还有最后的澄清。如果特定的 API 调用需要未授予的权限,则在执行此类 API 调用时将抛出异常。