怎样判断sd卡扫描完毕
------解决方案--------------------
所有类型文件?
------解决方案--------------------
MediaScannerConnectionClient接口中有一个叫做onScanCompleted的方法。
------解决方案--------------------
public static boolean isMediaScannerScanning(Context context) {
boolean result = false;
Cursor cursor = query(context, 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;
}
楼主试试这个,true的话正常扫描,false已经完成。
------解决方案--------------------
------解决方案--------------------
MediaScannerConnectionClient接口中有一个叫做onScanCompleted的方法。
------解决方案--------------------
SD扫描完毕会发送一个Broadcast出来
android.intent.action.MEDIA_SCANNER_FINISHED
注册一个broadcastreceiver处理一下就好。
private BroadcastReceiver mScanListener = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
.......
}
};
IntentFilter f = new IntentFilter();
f.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED);
f.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);
f.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
f.addDataScheme("file");
registerReceiver(mScanListener, f);