3

次のコードスニペットを使用して、MediaStoreキャ​​ッシュに画像を挿入しています。

MediaStore.Images.Media.insertImage(getContentResolver(), selectedFile.getParent() + file.separator + selectedFile.getName(), selectedFile.getName(),null);

挿入は問題ありませんが、同じパスに別の画像サムネイルも作成されます。これはギャラリーには表示されませんが、ファイルブラウザを使用して閲覧すると、この画像のサムネイルが表示されます。ユーザーを混乱させないように、この画像のサムネイルがここで作成されるのを停止するにはどうすればよいですか。

4

1 に答える 1

6

のドキュメントにMediaStore.Images.Media.insertImage()は、次のように書かれています。

画像を挿入し、そのサムネイルを作成します。

実際に行う必要があるのは、メディアスキャナーサービスにアクセスすることです。このサービスは、起動時またはSDカードの挿入後にデフォルトで実行されます。インテントを使用して強制的に実行することはできますが、SDカード全体を1つに再スキャンすることになります。

もちろん、より良い解決策があります。

APIレベル8以降(Android 2.2)向けに開発している場合は 、ここに記載されてscanFileいるからの静的関数を使用してください。MediaScannerConnection

API 7以下の場合は少し複雑ですが、次の投稿で最もよく説明されているラッパーを使用してすべてをまとめることができます。 ギャラリーウィジェットに画像を動的に追加する

于 2011-04-14T13:27:57.193 に答える