2016-04-04 10 views
3

OAuth機能を備えたwebviewログインを使用するアプリケーションにカスタムタブを実装する必要があります。 onPageStart()とonPageFinished()と同じ動作をChromeのカスタムタブに追加する方法はありますか?onPageFinished()とonPageStart()の動作を持つカスタムタブ

+0

申し訳ありませんが、私は新しいコーディングです。 onNavigatonEventをオーバーライドし、NAVIGATION_STARTED AND NAVIGATION_FINISHEDを使用する例を教えてください。私は彼らがサンプルでそれをやったかわかりません。どうもありがとう。 –

+0

Chromeカスタムタブを使用しているときに、onPageFinished()を使用するのではなく、OAuthリダイレクトをインテントとして戻します。これは、同じ結果を得るためのやや異なる方法です(アプリは認証応答を取得します)。使用している認証サーバーでは、リダイレクトでカスタムURIを使用できるようにする必要があります(AppAuthのデモにあるように、Google認可サーバーでサポートされています)。 –

答えて

1

CustomTabsCallbackを実装し、onNavigationEventを上書きすることができます。 NAVIGATION_STARTEDNAVIGATION_FINISHEDを使用してください。

新しいセッションを作成するときに、パラメータとしてCustomTabsCallbackを渡す必要があります。 thisサンプルを見てください。

制限されているのは、ロード中のURLにアクセスできない場合です。特に、ユーザーがカスタムタブを開くために使用したURLから移動する場合は特に制限があります。

3

OAuthを行うためにChromeカスタムタブを使用している場合(WebViewよりもはるかに安全で使いやすい)、オープンソースのAppAuthライブラリを検討する必要があります。

ライブラリに直接依存していない場合でも、ChromeのカスタムタブでOAuthフローを実装するための良い例がいくつかあります。

関連する問題