ちょっと趣味のアプリを開発してて,インテントでギャラリー出したいと思ったんですね.
その時書いてたのが
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent,REQUEST_GALLERY);
これなんですが,こうするとDropBoxやらファイルエクスプローラーが出てきて困りました.特にDropBoxはどうしても使いたくなくて(勝手にクラウドのファイルをDLして自分のSD領域に作ってくれる).できればギャラリー「だけ」起動できないかな,と探してみましたが,端末によってギャラリーのパッケージ名,クラス名が違っていて,明示的インテントはどうしても投げられない.
結局こうしました.
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_PICK);
startActivityForResult(intent,REQUEST_GALLERY);
intent.setAction(Intent.ACTION_PICK)とすることによって,画像データ("image/*")を取得するためのアプリだけ起動するようになります.基礎的なところがわかってなかった.