2012-02-20 9 views
2

私のアプリは外部ストレージ(/ sdcard)に画像ファイルを作成します。私はそれらの画像をギャラリーから見ることができます(ギャラリーで開くのではなく、ユーザーがギャラリーに切り替えると表示可能になります)。これを達成する方法はありますか?Galleryアプリケーションから画像をすぐに見ることができるように画像を登録するにはどうすればいいですか?

答えて

6

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);を使用して、public imagesディレクトリへのパスを取得します。

私はそうしようとしたことはありませんが、ドキュメンテーションによれば、それは公開画像(ギャラリー)が配置されている場所です。

出典:http://developer.android.com/reference/android/os/Environment.html#getExternalStoragePublicDirectory(java.lang.String)

EDIT:

private void addImageGallery(File file) { 
    ContentValues values = new ContentValues(); 
    values.put(MediaStore.Images.Media.DATA, file.getAbsolutePath()); 
    values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); 
    getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); 
} 

出典:

https://stackoverflow.com/a/9096984/998759

+0

実際には、デフォルトでイメージを置いていますが、イメージは表示されますが、デバイスの再起動後にのみ表示されます。しかし、私はパスをカスタマイズ可能にしたい。 –

+0

私の編集を見て、それがあなたに役立つならば –

+0

ありがとう、それは魅力のように動作します!私は役に立たない前に何か似たようなことを試しましたが、私のコードは間違いがありました。私は今見ています:) –

0

I他のファイルが挿入されたギャラリーDBに通知するために、次のことを試してみてください@Jensに同意する。 MediaScannerConnection、特に静的なscanFile()メソッドを使用してください。私の答えhereを見てください。

関連する問題