2012-01-25 1 views
0

複数のブラウザをインストールし、デフォルトが設定されていない場合、デフォルトを設定する選択肢ダイアログが表示されます。Android:「デフォルト」に設定できるアプリケーションまたはアクティビティとして認識されます

アプリケーション(またはアクティビティ)は、システムによってWebブラウザーとしてどのように認識されるのですか。 私はこのような何か場合:

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_BROWSABLE); 
startActivity(Intent.createChooser(intent, "TEST")); 

を私はアプリケーションのリストを取得します:ブラウザ(グーグル)、連絡先、Gmailの、電話ではなく、オペラ(ミニ)ブラウザ。だからOperaにはカテゴリBrowsableはないが、まだAndroidによってWebブラウザとして選ばれている。これはどのように作動しますか? Androidは行動があなたのアプリケーションが実行できると意図、それが応答できるかを知っているように、

答えて

0
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse("http://www.google.com")); 
startActivity(intent); 

デフォルトのチェックボックスを含むブラウザチューザが表示されます。データは "http:"または "https:"タイプのものである必要があります。

ダイアログの項目を選択すると、指定したURLに行くブラウザが開きます。そして、実際には、ベースのホームアプリでブラウザのアイコンをクリックしたときです。

これは私が望んだ100%ではありません(100%はURLに行くことなくブラウザを開くことになります)。

1

はそれは、マニフェストファイル内の適切な< action>>intent-filter <にを追加することで実現しています。

+0

これらのプロパティでシステムが「ウェブブラウザ」をどのように検出できるかはまだ分かりません。私が知る限り、Webブラウザのインテントフィルタは、これを検出するために十分な情報を宣言しません。 –

関連する問題