暗黙的Intentでパッケージ名を指定

暗黙的Intentについては以下
参考:http://techbooster.jpn.org/andriod/application/8835/
例えば画像を表示するアプリケーションを暗黙的Intentで出そうとすると人によっては10個以上のアプリケーションがリストに並んでしまう。
しかし、パッケージ名を指定して暗黙的Intentをコールすることで指定のアプリのみ表示することも可能になる。
以下はFacebookを暗黙的Intentで呼んでいる例
private void callImplicitFacebook()
{
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType(“image/*”);
intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(“file:/” + imageFilePath));
intent.setPackage(“com.facebook.katana”);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

try {
// 2014年2月現在kitkatのみFacebookの暗黙的Intentが以下のようにしないとうまくいかない
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
startActivity(intent);
} else {
startActivity(Intent.createChooser(intent, “アプリ選択”));
}
} catch (Exception e) {}
}
※上記暗黙的Intentを使わない場合はfacebook sdkを別途ダウンロードして使って書く必要がある
参考:http://techbooster.org/android/15160/