2016-07-02 14 views
1

Ich möchte, dass Chrome CustomTab die URL immer im Chrome CustomTab öffnet. Selbst wenn es eine externe Anwendung gibt, zu der die Absicht gehen kann. Im Moment wird der Benutzer gefragt, ob er in Chrome oder der externen Anwendung geöffnet werden möchte. Ist es möglich, die Absicht durch Chrome zu erzwingen? Ich weiß, dass ein WebView funktionieren würde, aber das CustomTab hat mehr Funktionalität ...Ist es möglich, Chrome CustomTabs so einzurichten, dass keine externe Anwendung geöffnet wird?

+0

Fragen Hilfe suchen müssen umfassen * das gewünschte Verhalten *, * ein spezifisches Problem oder Fehler * und * der kürzeste Code erforderlich * es zu reproduzieren ** in der Frage selbst **. Fragen ohne ** eine klare Problemstellung ** sind für andere Leser nicht nützlich. Siehe: [Erstellen eines minimalen, vollständigen und überprüfbaren Beispiels] (http://stackoverflow.com/help/mcve). –

Antwort

1

Diese Frage ist mir nicht klar. Ich denke, Sie wollten sagen, dass Sie die URL immer auf der Chrome-Registerkarte "Benutzerdefiniert" öffnen möchten, ohne den Dialog für Chrome oder eine externe Anwendung anzuzeigen.

Wenn mein Verständnis ist Okay, dann im Fall von Chrome Browser, sollten Sie die CustomTabIntent mit dem Paket von Chrome Browser vor dem Start der URL festlegen.

private void launchURL(String url) { 
    CustomTabsIntent.Builder builderCustomTabs = new CustomTabsIntent.Builder(); 
    CustomTabsIntent intentCustomTabs = builderCustomTabs.build(); 
    intentCustomTabs.intent.setPackage("com.android.chrome"); 
    intentCustomTabs.intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    intentCustomTabs.launchUrl(this, Uri.parse(url)); 
} 

Einzelheiten überprüfen: custom chrome tabs asks for multiple browser to choose

+3

Beachten Sie, dass andere Browser wie Samsung Internet Browser und Firefox die Unterstützung für benutzerdefinierte Registerkarten implementiert haben oder implementieren. Durch Festlegen eines fest codierten Pakets auf "com.android.chrome" werden Nutzer, die ihren bevorzugten Browser nicht auf Chrome festgelegt haben, ihre Einstellungen nicht berücksichtigen, und Ihre Anwendung kann auf Systemen fehlschlagen, auf denen Chrome nicht installiert ist. Die Best Practices erklären, wie Sie einen Code erstellen, der mit anderen Browsern funktioniert: https://developer.chrome.com/multidevice/android/customtabs#bestpractices – andreban