2010年9月21日火曜日

Intentを受け取るアプリケーションを必ず選択したい場合


ブラウザのように「常にこの操作で使用する」にチェックが付いているけど、
必ずアプリ選択画面を表示させたい場合は、Intent.createChooserを使います。

こんな感じ

ブラウザの選択ダイアログの表示

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.google.co.jp/"));

Intent chooser = Intent.createChooser(intent, "ブラウザの選択");
startActivityForResult(chooser, REQUEST_CHOOSER);

onActivityResultで選択結果の受け取り
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case REQUEST_CHOOSER:
if (resultCode == RESULT_OK) {
Intent intent = (Intent) data.getExtras().get(Intent.EXTRA_INTENT);
if (intent != null) {
startActivity(intent);
}
}
break;
default:
break;
}

finish();
}

0 件のコメント:

コメントを投稿