これは、URI を指定してファイル パスを返すコードです。
public String getPath(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
//String[] projection = { MediaColumns.DATA };
Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
プロジェクションが MediaStore.Images であるため、これはギャラリーの画像に対して機能します。他のすべてのディレクトリのファイル パスを取得するにはどうすればよいですか? ファイルはドキュメント タイプにすることができ、SD カードの任意の場所に置くことができます。ファイル パスを検索するには、どのプロジェクションを使用すればよいですか?