【问题标题】:android environment.directory_pictures not accessibleandroid environment.directory_pictures 无法访问
【发布时间】:2014-11-14 19:45:43
【问题描述】:

Android 4.3 版,API 18,Nexus 4

我正在尝试将一些录制的视频文件保存在指定位置。我正在使用:

File mediaStorage = new    File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), "DirName");

这很好用,但是当我尝试使用 DIRECTORY_PICTURES 位置时,正如 android 开发人员文档所推荐的 (http://developer.android.com/guide/topics/media/camera.html#saving-media),它不存在。

有人知道为什么吗?

【问题讨论】:

    标签: android


    【解决方案1】:

    Pictures 和 DCIM 是两个独立的目录。第一个位于 sdcard:/Picture ,第二个位于 sdcard:/DCIM。 我建议将您的记录保存到 sdcard:/Picture/YOURAPPNAME/ (使用 mkdirs() 创建此目录) 并将其添加到您的清单中:

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

    请记住在保存文件后调用媒体扫描仪,以便将其显示在图库中。 希望这会有所帮助

    【讨论】:

    • 这就是我想要做的,它不起作用,虽然它适用于 DCIM 文件夹
    • mkdirs() 返回 false,exists() 对新文件也是如此
    • 尝试将此添加到您的清单中:
    • 啊哈,修复了它,必须需要创建目录而不是单个文件的权限。实际上,当我试图弄清楚发生了什么时,我之前删除了该权限。感谢您的帮助:)
    【解决方案2】:

    文件存在。但如果这不是图像文件,您将无法在相册中看到。您可以在 /sdcard/pictures 中看到。请检查一下

    【讨论】:

    • 文件不存在,我的程序会检查它
    • 它使用 mkdirs() 和 exists(),对新文件都返回 false
    【解决方案3】:

    File mediaStorageDir = new File(Environmet.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),IMAGE_DIRECTORY_NAME);

    并在您的代码中声明 IMAGE_DIRECTORY_NAME...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-07
      • 2015-11-10
      • 1970-01-01
      相关资源
      最近更新 更多