特定のURLをクリックすると開くアプリを作成しました。明らかに私はこのようなものを持っています:
<intent-filter>
<data android:scheme="http" android:host="example.com"/>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
誰かがhttp://example.com/whatever/stuffのリンクをクリックするたびに、それはすべて素晴らしいことです...それは私のアプリを開きます。ただし、私のアプリ内で、いくつかの作業を行った後、suerをデフォルトのブラウザー(または、リンクをクリックしたときに使用していたブラウザー/ Webビュー)に戻したいと思います。私の問題は、ループを作成してしまうことです。
- ユーザーがリンクhttp://example.com/xxxをクリックすると、アプリが開きます。
- 私のアプリは処理を実行し、ユーザーを別のURLに送信したいと考えています。http://example.com/yyy
私のアプリが送信する意図は、最終的にはそれ自体(私のアプリ)に戻るだけです。
Intent httpIntent = new Intent(Intent.ACTION_VIEW); String theNewURL = http://example.com/yyy; httpIntent.setData(Uri.parse(theNewURL)); startActivity(httpIntent);
httpIntent
アプリを再度呼び出す代わりに、デフォルトのブラウザー(またはユーザーが最初から来た場所)を使用するにはどうすればよいですか?
編集: http://example.comと同じ場所に行く自分のドメインの1つ(一種のエイリアスとして)のCNAMEレコードを作成することで、その場しのぎの方法で問題を解決することができました。 。ユーザーに別のURLが表示されるようになったため、問題が発生しますが、インテントを呼び出さないという点で機能します。(インテントについて話すとき、私は正しい言語を使用していますか?)