在 Android 12 中,Google 已经移除了 MediaScannerReceiver 类。以前,开发者可以通过 MediaScannerReceiver 来通知系统有新的媒体文件需要扫描和索引,但在 Android 12 中,这个功能已经被废弃。

取而代之的是 MediaStore API 的改进。开发者现在可以使用 MediaStore API 直接插入新的媒体文件到系统媒体库中,而无需再使用 MediaScannerReceiver 类。具体的代码示例如下:

ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DISPLAY_NAME, "image.jpg");
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
values.put(MediaStore.Images.Media.RELATIVE_PATH, "Pictures");

ContentResolver resolver = getContentResolver();
Uri uri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

// 将图片文件写入到 uri 对应的文件中,这里省略了具体的文件写入代码

// 通知系统媒体库有新的媒体文件需要扫描
resolver.notifyChange(uri, null);

这样,系统会自动扫描刚插入的媒体文件,并将其添加到系统媒体库中

android 12 怎么没有MediaScannerReceiver 代码了?

原文地址: http://www.cveoy.top/t/topic/h70c 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录