Android12 查找手机视频代码
时间: 2024-10-12 15:12:47 浏览: 12
在Android 12及更高版本中查找手机中的视频通常涉及到文件系统访问和媒体扫描服务。以下是一个基本的示例,展示如何通过MediaStore API检索视频:
```java
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.provider.MediaStore;
public class VideoFinder {
private static final String[] VIDEO_PROJECTION = {
MediaStore.Video.Media._ID,
MediaStore.Video.Media.DATA,
MediaStore.Video.Media.TITLE,
// 添加其他需要的列,如LENGTH columns for duration
};
public static List<VideoInfo> findVideos(ContentResolver resolver) {
Cursor cursor = resolver.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, VIDEO_PROJECTION, null, null, null);
List<VideoInfo> videoList = new ArrayList<>();
if (cursor != null && cursor.moveToFirst()) {
do {
VideoInfo video = new VideoInfo();
video.id = cursor.getInt(cursor.getColumnIndex(MediaStore.Video.Media._ID));
video.path = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA));
video.title = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.TITLE));
// ... 获取其他属性
videoList.add(video);
} while (cursor.moveToNext());
}
cursor.close();
return videoList;
}
private static class VideoInfo {
long id;
String path;
String title;
// 其他视频信息字段...
}
}
```
在这个例子中,`ContentResolver`用于获取系统的媒体存储数据,`MediaStore.Video.Media.EXTERNAL_CONTENT_URI`指向外部存储中的所有视频。你需要根据应用权限动态请求相应的权限。
阅读全文