4

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

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

4

1 回答 1

4

使用下面的代码。

 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 复制而来的。

于 2012-08-27T05:49:34.320 回答