Androidのインテントで「ギャラリー」系のアプリ以外を出したくないと思った

 ちょっと趣味のアプリを開発してて,インテントでギャラリー出したいと思ったんですね.

 その時書いてたのが

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/*")を取得するためのアプリだけ起動するようになります.基礎的なところがわかってなかった.