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/