■実装
ギャラリーの起動
以下のようにすることで(画像データに選択肢を絞って)ギャラリーアプリを起動することができる。
Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(intent, REQUESTCODE);
ギャラリーからデータを受け取る
protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUESTCODE && resultCode == RESULT_OK) { //data.getData();//ギャラリーで選択したファイルのuriが格納されている } }
uriからpathの文字列を取得
以下のようにすることでuriからpathの文字列を取得することができる。
private final String getPathFromUri(Uri uri) { String[] projection = { MediaStore.Images.Media.DATA }; Cursor cursor = managedQuery(uri, projection, null, null, null); int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); return cursor.getString(column_index); }