0

インターネットから画像を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);   
  }   
});   
4

1 に答える 1

0

すぐに結果が必要な場合は、あなたがしていることは問題ないようです。

すぐに結果が必要ない場合は、代わりに、すべてのファイルのダウンロードが完了したときに、カードがマウントされたことをシステムに伝えることで、SD カード全体のスキャンをトリガーできます。

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));
于 2011-09-21T06:29:25.797 に答える