外部存储的Android运行时权限

时间:2016-06-21 09:38:36

标签: android android-permissions android-glide

我一直在了解Android Marshmallow的新权限模型,但我对存储权限感到困惑。

android.permission-group.STORAGE是一种危险的权限,我们必须要求用户。

在我的用例中,我只是写入外部存储中应用程序的私人目录。

我已经读过,对于KitKat,如果我只存储与我的应用相关的数据,我们无需申请这些权限。

我可以使用Context.getExternalFilesDirs()

但这是针对API 19/20的 我的应用程序的目标是16,所以我假设上述内容不适用于我。

我的主要问题是我使用Glide库进行图像缓存,Android下载管理器下载一个文件,该文件将存储在我应用的外部目录中,以便如何处理这些组件的外部存储权限如果我只是使用我应用的私人目录,我是否需要?

1 个答案:

答案 0 :(得分:0)

要将数据写入app-private的外部存储,您需要对API 19以下的任何内容使用WRITE_EXTERNAL_STORAGE权限。将其添加到您的清单中:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />

从Android 4.4(API 19)开始,您不需要这样做,但如果您的应用程序支持较低的API,那么您需要上述内容。有关Android存储选项的更多信息,请访问here