Ich habe eine Aktivität, die eine externe URL in eine Webansicht innerhalb meiner App lädt. Ich möchte Chrome-Tabs verwenden, wenn diese verfügbar sind, aber ich unterstütze Geräte, die möglicherweise keine Chrome-Version haben, die sie unterstützt.Wie kann ich prüfen, ob Chrome benutzerdefinierte Tabs von Chrome unterstützt?
Wenn CustomTabs nicht unterstützt werden, möchte ich meinen alten Code verwenden, aber benutze die CustomTabsIntent.Builder(), wenn sie es sind. Der alte Code lädt den Inhalt in einer WebView, die in einer Aktivität enthalten ist, wo ich die ActionBar noch verwalten kann.
Ich möchte eine Hilfsmethode schreiben, die mir sagen wird, ob sie unterstützt wird, aber ich bin mir nicht sicher, wie. Die Info auf der Entwicklerseite ist ziemlich schlank:
Es sagt, wenn Sie Bindung erfolgreich ist, können die benutzerdefinierten Registerkarten sicher verwendet werden. Gibt es eine einfache Möglichkeit zu binden, um dies zu testen?
Like this Ich gehe davon aus:
Intent serviceIntent = new Intent("android.support.customtabs.action.CustomTabsService");
serviceIntent.setPackage("com.android.chrome");
boolean customTabsSupported = bindService(serviceIntent, new CustomTabsServiceConnection() {
@Override
public void onCustomTabsServiceConnected(final ComponentName componentName, final CustomTabsClient customTabsClient) {}
@Override
public void onServiceDisconnected(final ComponentName name) {}
},
Context.BIND_AUTO_CREATE | Context.BIND_WAIVE_PRIORITY);
if (customTabsSupported) {
// is supported
}
Wird überprüft, ob benutzerdefinierte Chrome-Tabs in anderen Browsern unterstützt werden? – X09