android - getExternalFilesdir 失败

标签 android android-file

OnActivityCreated 我在做什么:

activity.getExternalFilesDir(Environment.DIRECTORY_PICTURES);

在 logcat 中我得到:

com.package W/ContextImpl﹕ Failed to ensure directory: /storage/sdcard1/Android/data/com.package/files/Pictures

这只发生在 LOLLIPOP (MOTO G 2014) 上,而在 KITKAT (Nexus 4) 上一切正常。我在 list 上WRITE_EXTERNAL_STORAGE。 我在这里错过了什么?存储已安装并可通过文件浏览应用程序(如 ES Explorer)访问。

编辑:令人惊讶的是,即使我收到上面报告的警告,文件也会在目录下正确创建。

最佳答案

试试这个:

String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);

并使用此权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

实际上:

getExternalFilesDir()

它返回 SD 卡上 /Android/data/com.package/files/Pictures 内的文件夹路径。并且其中没有名为 Pictures 的文件夹。所以你得到了那个错误。

关于android - getExternalFilesdir 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31831453/

相关文章:

java - IndexOutOfBoundsException 后检查

android - 在 Canvas 上绘制一个以触摸点为中心的矩形

android - OkHttpClient "open"方法在 v2.0 中丢失

android - 是否可以使用内部存储创建和维护包含文件的文件夹结构

android - 使用 Dropbox API 通过 Android 上传文件

android - 如何在 Android 中从视频 URL 捕获/录制剪辑并保存到手机

javascript - 在特定元素上禁用移动长按上下文菜单

java - 为什么我在 android 4.0.3 中收到 TimePicker NullPointerException?

Android 在 Android 5+ 的外部 SD 卡上写入文件

Android - 如何从文档中获取选定的文件名