【Android開発】ギャラリーから選択された画像の名前を取得したい
日本語で検索してもぱっと出てこなかったので、
備忘録として書いておきます。
まずはどっかからギャラリーを起動させる
//ギャラリーの起動 Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); startActivityForResult(Intent.createChooser(intent, "Select picture"), sukina_number);
sukina_numberは好きな数字入れてください。
ギャラリーから選択した画像のタイトルを適当なテキストビューに代入するメソッド
private void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { if (requestCode == sukina_number_de_set_sita_number) { File f = new File(getRealPathFromURI(data.getData())); tekitouna_text_view.setText(f.getName()); } } }
ギャラリーで画像を選択した後はonActivityResultが呼ばれます。
requestCodeには自分でstartActivityForResultの第二引数に入れた値が入っていますので、うまく利用して条件分けすることも可能です。
で、一番大事なのが
File f = new File(getRealPathFromURI(data.getData())); tekitouna_text_view.setText(f.getName());
これですね。
ギャラリーで選択した画像のURIをなんとかファイル型にして名前getできるようになった!って感じです。