Это плохая идея, используя MediaScannerConnection.scanFile? - PullRequest
0 голосов
/ 17 сентября 2011

У меня есть loop загрузка изображений из Интернета.
Я использую приведенный ниже код для обновления провайдера медиа-контента своим новым изображением.

Сегодня я попытался загрузить 400 изображений, и код ниже работает на каждом изображении.
Поэтому я называю это 400 раз.
Должен быть лучший способ, верно?

MediaScannerConnection.scanFile(ctx,new String[] { path.toString() },null,new     MediaScannerConnection.OnScanCompletedListener() {    

  public void onScanCompleted(String path, Uri uri) {    
    Log.i("ExternalStorage", "Scanned " + path + ":");    
    Log.i("ExternalStorage", "-> uri=" + uri);   
  }   
});   

1 Ответ

0 голосов
/ 21 сентября 2011

Если вы хотите немедленных результатов, то то, что вы делаете, кажется нормальным.

Если вам не нужны немедленные результаты, вместо этого, когда вы закончите загрузку всех файлов, вы можете запустить сканирование всей карты SD самостоятельно, сообщив системе, что карта только что смонтирована:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));
...