ドメインのブラウザからのURLをインターセプトするインテントフィルタがあります。これにより、ユーザーはネイティブアプリケーションまたはブラウザのどちらを使用するかを選択できます。次のインテントフィルターを設定しました。
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="myDomain" android:pathPrefix="/custom/" android:scheme="http" />
</intent-filter>
さて、ブラウザを使用することには多くの利点があるので、ネイティブアプリケーションでユーザーをトラップすることは私の意図ではありません。そのため、ユーザーがアプリケーション内でブラウザーに戻ることができるようにしたいと思います。ビューのインテントとそれを表すURLを作成するだけのonClickを使用してボタンを作成しました。これにより、ユーザーに選択ダイアログが再度表示されます。
これの落とし穴は、ユーザーがチェックボックスを選択して常にネイティブアプリケーションを使用できることです。それは良いことですが、絶対的なものが間違っていることもあります。したがって、特定のURLとそのドキュメントの特定の部分について言及しているブログ投稿を読んでいる場合、URLを傍受することはユーザーが意図したものではなく、ネイティブアプリケーションに送信されます。また、意図的にボタンを選択すると、すぐにアプリケーションに吸い込まれます。
システムブラウザのACTION_VIEWインテントを構成する方法、または少なくともユーザーが常にネイティブアプリを使用することを選択したことを検出して、ACTION_WEB_SEARCHを使用できるようにする方法(履歴スタックとは異なるUI動作があるため、私はそうしませんでした)このアクションを常に使用することを選択します)。