【发布时间】:2015-08-30 06:31:16
【问题描述】:
只是查看我的应用程序的权限,我想知道在使用 android:installLocation="auto" 时是否需要在我的清单中添加 android.permission.READ_EXTERNAL_STORAGE。
我查看了developer docs,其中没有提及任何有关权限的内容,但other documentation 声明我确实需要从外部存储读取的权限:
为了在外部存储上读取或写入文件,您的应用必须获得
READ_EXTERNAL_STORAGE或WRITE_EXTERNAL_STORAGE系统权限。
另外,documentation about the permission 声明:
允许应用程序从外部存储中读取。
任何声明
WRITE_EXTERNAL_STORAGE权限的应用都会被隐式授予此权限。从 API 级别 19 开始强制执行此权限。在 API 级别 19 之前,此权限未强制执行,所有应用仍然可以从外部存储读取。您可以通过在运行 Android 4.1 或更高版本的设备上的“设置”应用中的“开发者选项”下启用“保护 USB 存储”来测试您的应用。
同样从 API 级别 19 开始,读取/写入
getExternalFilesDir(String)和getExternalCacheDir()返回的应用程序特定目录中的文件不需要此权限。
因此我不确定我是否确实需要 Manifest 文件中 installLocation 属性的权限,因为这意味着我的应用程序将从外部存储中读取,但正如我之前所说,专门针对应用程序安装的文档位置未提及权限。
我需要许可吗?
【问题讨论】:
标签: android android-manifest android-permissions