关于 WRITE_EXTERNAL_STORAGE,Android 文档指出
从 API 级别 19 开始,读取/写入 getExternalFilesDir(String) 和 getExternalCacheDir() 返回的应用程序特定目录中的文件不需要此权限。
我的应用程序只读取和写入Android/data//files目录。这是否意味着,为了在我的应用程序在 19 之前的 Android 版本上运行时读取和写入此特定目录,我仍然需要在清单中声明此权限?
关于 WRITE_EXTERNAL_STORAGE,Android 文档指出
从 API 级别 19 开始,读取/写入 getExternalFilesDir(String) 和 getExternalCacheDir() 返回的应用程序特定目录中的文件不需要此权限。
我的应用程序只读取和写入Android/data//files目录。这是否意味着,为了在我的应用程序在 19 之前的 Android 版本上运行时读取和写入此特定目录,我仍然需要在清单中声明此权限?
Android 文档在这里说:
从 Android 4.4 开始,在应用的私有目录中读取或写入文件不需要 READ_EXTERNAL_STORAGE 或 WRITE_EXTERNAL_STORAGE 权限。因此,您可以通过添加 maxSdkVersion 属性来声明只能在较低版本的 Android 上请求权限:
<manifest ...> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" /> ... </manifest>
所以答案是明确的YES。