これを行うために最終的に使用したコードは次のとおりです。
public static Uri addToTouchActiveAlbum( Context context, String title, String filePath ) {
ContentValues values = new ContentValues();
values.put( Media.TITLE, title );
values.put( Images.Media.DATE_TAKEN, System.currentTimeMillis() );
values.put( Images.Media.BUCKET_ID, filePath.hashCode() );
values.put( Images.Media.BUCKET_DISPLAY_NAME, Constants.TA_PHOTO_ALBUM_NAME );
values.put( Images.Media.MIME_TYPE, "image/jpeg" );
values.put( Media.DESCRIPTION, context.getResources().getString( R.string.product_image_description ) );
values.put( MediaStore.MediaColumns.DATA, filePath );
Uri uri = context.getContentResolver().insert( Media.EXTERNAL_CONTENT_URI , values );
return uri;
}
「getExternalStorage()」(/storage/sdcard0) にあるイメージに対して機能します
また、別のフォルダー (Context.getExternalCacheDir() によって返されるフォルダーの下に作成する cacheDir) にある画像を追加したいと思います。問題: MIME タイプがわかりません (それは問題ですか?)。フォルダは別の場所にある別の名前の別のフォルダです。また、「アルバム」自体に追加する方法がわかりません。 ……アルバム名がフォルダ名に由来しているような……。
または別の言い方をすると:
values.put( Images.Media.BUCKET_DISPLAY_NAME, Constants.TA_PHOTO_ALBUM_NAME );
効果がないように見えますか?