oppo手机无法使用MediaStore.Video.Media.EXTERNAL_CONTENT_URI
时间: 2023-12-24 13:03:05 浏览: 202
这可能是由于以下原因之一导致的:
1. 您的应用程序没有获取适当的存储权限。请确保您的应用程序已经请求了适当的存储权限。
2. 您的设备没有安装相应的视频播放器应用程序。请尝试安装一个视频播放器应用程序,例如 MX Player 或 VLC。
3. 您的设备上的媒体扫描程序可能需要更新。尝试使用以下代码强制刷新媒体库:
```
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(filePath))));
```
如果您已经尝试了以上方法,并且仍然无法使用 MediaStore.Video.Media.EXTERNAL_CONTENT_URI,请尝试在您的应用程序中使用其他方法来访问媒体文件。
相关问题
mContentResolver.query( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, SELECTION, SELECTION_ARGS, MediaStore.Audio.Media.DEFAULT_SORT_ORDER
这段代码是用于查询外部存储中的音频文件的。具体来说,它使用ContentResolver对象的query()方法来执行查询操作。参数解释如下:
- 第一个参数是要查询的URI,这里使用了MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,表示查询外部存储中的音频文件。
- 第二个参数是要返回的列,设置为null表示返回所有列。
- 第三个参数是查询的选择条件,这里使用了SELECTION,它是一个字符串常量,表示查询条件。
- 第四个参数是查询条件的参数值,这里使用了SELECTION_ARGS,它是一个字符串数组,表示查询条件的参数值。
- 第五个参数是结果的排序顺序,这里使用了MediaStore.Audio.Media.DEFAULT_SORT_ORDER,表示按默认排序顺序返回结果。
通过调用query()方法,可以获取到满足查询条件的音频文件的Cursor对象,然后可以通过Cursor对象遍历和获取查询结果。
String[] projection = {MediaStore.Images.Media._ID, MediaStore.Images.Media.DATA}; String sortOrder = MediaStore.Images.Media._ID + " DESC"; Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, sortOrder);
这段代码是查询Android系统中存储的图片信息。其中,`MediaStore.Images.Media._ID`表示图片在媒体库中的唯一标识符,`MediaStore.Images.Media.DATA`表示图片在存储设备上的物理路径。`projection`数组是用来指定查询返回的列,`sortOrder`是用来指定查询结果的排序方式。`getContentResolver().query()`方法执行查询操作,其中`MediaStore.Images.Media.EXTERNAL_CONTENT_URI`表示查询外部存储器中的图片。查询结果会以`Cursor`对象的形式返回。
阅读全文