android - 如何检查文件是否已被媒体广播接收器扫描

标签 android image media broadcast scanning

我正在向媒体广播接收器发送扫描 Intent ,以便系统“识别”图像:

Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f = new File(path);
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
getActivity().sendBroadcast(mediaScanIntent);

等待扫描完成的方法是什么?有听众吗?谢谢

最佳答案

在您的情况下,您需要使用 MediaScannerConnection.scanFile这会为您提供回调以监听通过 OnScanCompletedListener 方法完成的扫描操作。

例如

MediaScannerConnection.scanFile(
                getApplicationContext(),
                new String[]{file.getAbsolutePath()},
                null,
                new OnScanCompletedListener() {
                   @Override
                   public void onScanCompleted(String path, Uri uri) {
                      Log.v(TAG,
                            "file " + path + " was scanned seccessfully: " + uri);
                   }
                });

关于android - 如何检查文件是否已被媒体广播接收器扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33869123/

相关文章:

java - 解码 .bmp 图像

php - 尽管有一些被裁剪,如何识别相似的图像?

html - 仅取消选中 html 和 css 中的复选框?

css - 无法在 Wordpress 中更改大于 640px 的图像的显示大小?

iphone - 如何增加视频文件的持续时间- objective-c

IntelliJ 14 中的 Android/Scala 项目编译,但在启动时崩溃,找不到 Scala 类

android - SingleLiveEvent 实际上是 Android 架构组件库的一部分吗?

android - 在 Android 上调试时 RxJava 缓存线程中的 InterruptedException

Android zipalign 错误 - 验证失败

css - CSS @media 查询对页面加载速度有影响吗?