【问题标题】:File read and write in Android 8.1 and aboveAndroid 8.1及以上的文件读写
【发布时间】:2019-04-15 19:46:20
【问题描述】:

我正在尝试压缩从相机捕获的视频,但压缩的视频无法保存在 Android 8.1 版中。相同的代码适用于较低版本。

所有需要 READ 和 WRITE 外部存储的权限都在那里。

 File videoFile = new File(pathToStoredVideo);
    String origin;
    origin = videoFile.getAbsolutePath();
    compressVideo(origin, origin);

我正在尝试在同一位置保存一个新文件。此代码在较低版本中运行良好,但在 Android 8.1 及更高版本中无法运行。

来源看起来像这样 /storage/emulated/0/DCIM/Camera/VID_20190415_143927.mp4

控制台错误 - E/tmessages: /storage/emulated/0/DCIM/Camera/VID_20190408_173343395.mp4(权限被拒绝) 时间 = 18

【问题讨论】:

  • 您是否也在运行时请求读/写权限?(连同清单)?
  • 可能是该文件已损坏。

标签: android


【解决方案1】:

对于 8.0 及更高版本,只会授予明确请求的那些权限。

您是否在运行时明确添加了读写请求权限?

Unable to save image file in android oreo update. How to do it?

【讨论】:

  • 是的,我已经在运行时明确添加了读写请求权限。我再次编辑了告诉我遇到的错误的问题。
  • WRITE_EXTERNAL_STORAGE , READ_EXTERNAL_STORAGE 这两个权限需要添加到 Manifest 文件中的“应用程序标签之外”,如果这些权限已经添加到您的清单中并且还添加在运行时,则不应有正确的视频格式或文件损坏。!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-16
  • 1970-01-01
  • 2018-03-08
  • 1970-01-01
相关资源
最近更新 更多