1

URLから画像をダウンロードしてSDカードに保存するアプリケーションを実装しました。
再起動後、エミュレータ ギャラリーに表示されます。エミュレーターを再起動せずにギャラリーに画像を表示することはできますか?

4

1 に答える 1

2

アプローチ:

#1 すぐに結果が必要な場合は、MediaScannerConnection を使用してください。

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);   
  }   
});

#2すぐに結果が必要ない場合(たとえば、新しい数百の画像を作成した場合)、代わりにすべてのファイルのダウンロードが完了したら、システムにカードがあったことを伝えることにより、SDカード全体のスキャンをトリガーできますマウントしたばかり:

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

結論:あなたが非常に小さなものを書いているなら、いいえ。一度に 1 個のファイルを使用する場合は、#1 を使用します。スキャンするファイルの。

于 2012-10-12T10:43:03.477 に答える