当前位置: 代码迷 >> Android >> sd卡有关问题
  详细解决方案

sd卡有关问题

热度:26   发布时间:2016-05-01 21:31:18.0
sd卡问题
怎样判断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已经完成。
------解决方案--------------------
探讨
public static boolean isMediaScannerScanning(Context context) {
boolean result = false;
Cursor cursor = query(context, MediaStore.getMediaScannerUri(),
new String [] { MediaStore.MEDIA_SCANN……

------解决方案--------------------
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);
  相关解决方案