Content Providerを介しての画像データ更新(ファイル名)について
現在、画像のファイル名をデータ取得日時へ変更するAndroidプログラムを作成中です。下記のように記述しても端末標準ギャラリーから見ようとするとファイルが壊れている状態になってしまいます。TITLEとDATAの他にも変更すべき点があるのでしょうか?
strId = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media._ID));
strData = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
/*Long型で日時を取得し、形式変換*/
Long lnDate = Long.parseLong((cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATE_TAKEN))));
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd_HHmm", Locale.JAPAN);
//TITLE更新用
strTitle = sdf2.format(lnDate);
//DATA更新用
strDate = sdf2.format(lnDate) + ".jpg";
/*正規表現でファイル名部分のみ変更*/
String regex = "\\w*\\.JPG";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(strData);
strData = m.replaceAll(strDate);
//更新用データをvaluesへ
values.put(MediaStore.Images.ImageColumns.DATA, strData);
values.put(MediaStore.Images.ImageColumns.TITLE, strTitle);
//更新
resolver.update(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values, "_id =" + strId, null);