2016-07-26 10 views
0

Referenz: How do I open any app from my web browser (Chrome) in Android? What do I have to do with the A Href link?Android: Set window.location mit JS

<p> 
 
    <a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end">Take a qr code</a><br> 
 
</p>

Wenn ein Benutzer klickt auf den Link mit Android Chrome, dann ist es die App Barcode-Scanner wird geöffnet. Aber wenn ich setze window.location = "intent url" es öffnet nicht die Barcode-Scanner-App.

intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;end 

Ermöglicht Chrome dies nicht? Gibt es eine Möglichkeit, dieses Problem zu beheben?

+0

Sie müssen es innerhalb eines Touch-Ereignisses tun (sonst wird Chrome eine Warnmeldung protokollieren) –

+0

@SimonMarquis danke. Wie kann ich ein Berührungsereignis auslösen? –

+0

Es entspricht einer Benutzeraktion, Sie können dieses Verhalten nicht fälschen –

Antwort

1

Sie können implicit intent verwenden.

Ein gutes Tutorial kann here gefunden werden. Sie können alle benutzerdefinierten Protokoll-URLs wie unten öffnen, möglicherweise nicht nur Chrome, sondern alle mobilen Browser.

Beispiel: // SomeHostPrefix/Username = abcdef & SessionId = 12345

enter image description here

Sie können jedoch nicht öffnen beliebige Apps, muss die App etwas in seinem Manifest erklärt haben, Datei:

enter image description here

+0

zum Beispiel die implizite Absicht, fb: // profile, funktioniert nicht mit window.location. –

+0

Nun, ich habe erwähnt, dass wenn ein Benutzer auf den Link (Anchor-Tag) mit Android Chrome klickt, dann öffnet sich die Barcode-Scanner-App. Aber es funktioniert nicht, wenn ich window.location = "intent url" setze, wenn die Seite geladen wird. –