2017-01-03 14 views
1

私のアプリは自分のサーバーに接続するためのカスタムタブを開いています。私のサーバーはユーザーの入力を処理し、JavaScriptのインテントとエクストラを使用してアプリケーションに戻ります。インテントは必要なブラウズ可能なインテントフィルタでアクティビティを開くように設定されています。カスタムタブが閉じず、Androidバージョンのさまざまな動作

ブラウザがフォーカスを保持しています。ユーザーがHTMLページ上のボタンを使ってjavascriptのAndroidインテントをトリガーすると、アプリケーションを正しく開いてブラウザウィンドウが消えるように、HTMLボタンのアンカーを取得するにはどうすればよいですか?

動作に一貫性がありません。 Android 4.2はカスタムタブで正常に動作し、Samsung Android 6は一度しか動作せず、ユーザーがブラウザに戻ると失敗します。 Androidの新しいバージョンでは、タブが一貫性のない方法で失敗します。回避策のタブを無効にしてAndroid 6のシステムブラウザを使用すると、タブが失敗するのと同じ方法でAndroid 4システムブラウザが失敗します。これは、htmlに明らかなギャップがあると私に思います。 JavaScriptのインテントが呼び出されるとき、私はアプリケーションがインテントとエクストラを取得しているのを見る - >ディープリンクが動作します。ただし、ブラウザウィンドウは一番上にとどまります。そのような意図でHTMLプログラミングにいくつかのトリックがありますか?ユーザーのジェスチャーはそこにあります。他に何が必要ですか?コールバックを利用してフォーカスを要求することはできますか?

ご協力いただきありがとうございます。

+0

動作しているか動作していないブラウザの種類とバージョンを確認できますか?カスタムタブは現在、バージョン45以降のChrome、およびバージョン4.0以降のSamsung Internetでサポートされています。 – andreban

答えて

2

JavaScriptのインテントで開いたアクティビティにUIがなく、すぐに終了したという問題が明らかになりました。何らかの理由で、私はAndroidが私のアプリの中にとどまると思ったのですが、バックスタックは普通のことをやっただけです。

答えは、javascriptインテントで開始されたアクティビティを終了する前に、アプリケーションのMainActivityを開始することでした。アプリ内で別のアクティビティに移動するよう意図的にアプリケーションをコーディングせずに終了すると、カスタムタブに戻り、ブラウザに戻ります。実際にjavascriptのインテントがアクティビティを開始してアプリケーションに戻ったが、アクティビティが終了し、そのアクティビティを呼び出したカスタムタブにフォーカスが戻ったときに、ブラウザがフォーカスを保持しているかのように見えました。

+0

これは実際にこの奇妙な行動に関する多くの疑問をクリアするのに役立ちました!どうもありがとう :) –

関連する問題