4

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 に答える