【发布时间】:2011-06-28 21:48:20
【问题描述】:
我想删除之前使用 Intent 录制的视频:
Intent captureVideoIntent = new Intent(
android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
startActivityForResult(captureVideoIntent, VIDEO_CAPTURED);
onActivityResult() 方法获取录制的视频作为 Intent 数据。我尝试获取录制的文件并删除它。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Code for modify and copy the video
try {
Uri androidUri = data.getData();
File file = new File(new java.net.URI(androidUri.toString()));
file.delete();
} catch (Exception e) {
e.printStackTrace();
}
}
但我得到了错误:
java.lang.IllegalArgumentException:URI 中的预期文件方案:content://media/external/video/media/177。
有人知道如何获取录制视频的路径并移动或删除它吗?
【问题讨论】:
-
您是否尝试过将
URI传递给File构造函数?示例...File file = new File(uri); -
是的,但是 File 构造函数需要一个 URI 而不是 Uri。我应该将 android.net.Uri 转换为 java.net.URI。这个问题在stackoverflow.com/questions/559902/…中没有解决。
-
如果我尝试: File file = new File(new java.net.URI(androidUri.toString()));我收到错误: java.lang.IllegalArgumentException: Expected file scheme in URI: content://media/external/video/media/177 。谢谢
标签: android android-intent video uri