android - 检测媒体扫描器是否在 Android 上运行

标签 android

有什么方法可以检测 MediaScanner 是否正在运行。

例如,如果 mediascanner 正在运行,线程将休眠 200 英里。 谢谢。

最佳答案

使用下面的代码。

 public static boolean isMediaScannerScanning(ContentResolver cr) {
        boolean result = false;
        Cursor cursor = query(cr, MediaStore.getMediaScannerUri(),
               new String [] {MediaStore.MEDIA_SCANNER_VOLUME},
                null, null, null);
        if (cursor != null) {
            if (cursor.getCount() == 1) {
                cursor.moveToFirst();
                result = "external".equals(cursor.getString(0));
            }
            cursor.close();
        }    
        return result;
    }

是从AOSP的ImageManager.java拷贝过来的。

关于android - 检测媒体扫描器是否在 Android 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12136681/

相关文章:

android - 以编程方式打开 SearchableSpinner

android - 如何在主要 Activity 中设置无限重复限制的选取框?

android - 异步任务仅在 Debug模式下检索数据(android)

android - FindFragementByTag 后 Fragment 上没有 Activity 错误

java - 如何在另一个 Activity 或主类的 Activity 中调用处理程序

android - 更改 ActionBar 标题

java - 数据绑定(bind) - ActivityMainBinding.java 错误 : too many parameters

Android - 仅从 native 代码写入/保存文件

android - Appbar 在 Android 设计库 22.2.1 与 22.2.0 中滚动

java - 如何平移 View ,但保持其原始起始位置