GS02の/mnt/sdcard/と/HWUserData/ ではまる。
GS02 (Huawei Honor) でDBを検索すると無いとはじき返される。
一覧を表示させてみると、なんと/mnt/sdcard/に保存したつもりの画像が、/HWUserData/に保存されている。
/mnt/sdcard/ApplicationName/1353822699_after.jpg /mnt/sdcard/ApplicationName/1353822699_before.jpg /HWUserData/ApplicationName/1352359123_before.jpg /HWUserData/ApplicationName/1349065039_before.jpg
そのためコードをつぎの通りに書き換えた。
/* * Android 画像のファイル名からIDを取得する関数 */ public Long getOrigIdFromFilename(String filename){ // 1) String filePath = Environment.getExternalStorageDirectory().getPath()+"/"+context.getString(R.string.app_name)+"/"+filename; String selection = MediaStore.Images.Media.DATA + "=" + "'"+filePath+"'"; // 2) つぎの通り、書き換えた。 String selection = MediaStore.Images.Media.DATA + " LIKE '%ApplicationName%"+filename+"'"; String[] proj = {ImageColumns._ID}; ContentResolver contentResolver = context.getContentResolver(); Cursor cursor = contentResolver.query( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, proj, selection, null, null); Log.v("Result", Integer.toString(cursor.getCount())); cursor.moveToFirst(); int column_index = cursor.getColumnIndexOrThrow(ImageColumns._ID); return cursor.getLong(column_index); }