7

Chrome カスタム タブを使用するには、ユーザーが Chrome(ベータ) を個別にダウンロードする必要がありますか?それとも、Chrome カスタム タブをアプリケーションに実装するときに含まれますか?

4

3 に答える 3

5

Chrome ブラウザーがインストールされていない場合は、必要に応じて代わりに CustomTabFallback を使用できます。ここでは、その場合の代替ソリューションを実装できます。

/**
 * A Fallback that opens the WebviewActivity when Custom Tabs is not available
 */
public final class WebviewFallback implements CustomTabActivityHelper.CustomTabFallback {

@Override
public void openUri(final Activity activity, final Uri uri) {
    final Intent intent = new Intent(activity, WebviewActivity.class);
    intent.putExtra(WebviewActivity.EXTRA_URL, uri.toString());
    activity.startActivity(intent);
}

}

ここでは、Activity を使用して URL を読み込みます。これは WebView を使用するだけで、Uri を渡すだけです。それは本当にあなたが必要とするものに依存します. したがって、必要に応じて複数のフォールバック タイプを使用できます。

于 2015-10-16T11:34:52.753 に答える
1

カスタム タブを機能させるには、カスタム タブをサポートするブラウザがインストールされている必要があります。

バージョン 45 以降、製品版の Chrome では既に利用可能です。

現在、対応しているブラウザは Chrome のみですが、オープンプロトコルであるため、将来的には他のブラウザも対応する予定です。

于 2015-10-11T10:11:42.057 に答える
0

@andrebanの答えは正しかった。もう少し詳しく説明したいと思います。

はい、カスタム タブを機能させるには、Chrome v45 以降が必要です。ただし、 を送信するためIntent.ACTION_VIEW、Android は既定のブラウザーを起動します。に入力したすべてのパラメーターを無視するだけですintent

ドキュメントから:

ACTION_VIEW インテントを使用しています。これは、デフォルトでページがシステム ブラウザまたはユーザーのデフォルト ブラウザで開くことを意味します。

ユーザーが Chrome をインストールしていて、それがデフォルトのブラウザーである場合、自動的に EXTRAS が選択され、カスタマイズされた UI が表示されます。別のブラウザーがインテント エクストラを使用して、同様のカスタマイズされたインターフェイスを提供することも可能です。

于 2015-10-13T01:25:15.647 に答える