2016-03-23 8 views
0

Ich kämpfe ein bisschen. Ich habe eine gemeinsame URL wie www.domain.com/test.html und ich möchte, dass Android-Nutzer meine App öffnen, wenn "Test" enthalten ist, andernfalls, wenn sie nicht die App haben, sollten sie an den Play Store verwiesen werden . Ich habe alles implementiert und es funktioniert mit Mozilla-Browser. Aber mit Chrome auf Android sollte es verboten sein, die App automatisch zu öffnen, wenn sie verfügbar ist!?. Nun, wenn der Benutzer www.domain.com/test.html eintritt, und ich erkenne er Android und Chrome verwendet habe ich versucht, die Absicht Sachen in einem Skript in einem umgeleiteten www.domain.com/android_chrome.html:Wie öffne ich automatisch eine App von meinem Webbrowser (Chrome) in Android?

<script>  window.open("intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;S.browser_fallback_url=http%3A%2F%2Fzxing.org;end","_self") 
    </script> 

Aber die App wird nicht automatisch geöffnet. Wenn ich einen normalen Link verwende:

<a href="intent://scan/#Intent;scheme=zxing;package=com.google.zxing.client.android;S.browser_fallback_url=http%3A%2F%2Fzxing.org;end"> Take a QR code </a> 

es funktioniert. Aber ich möchte es automatisch öffnen lassen!

Antwort

1

Google beschränkte Startabsichten von JavaScript-Apps, deshalb funktioniert es nicht. Sicherheitsgründe schätze ich. Sie sollten nur einen schönen großen Link anzeigen, damit der Nutzer zu Ihrer App anstelle der Website wechseln kann - oder lassen Sie ihn fortfahren, wenn er die App nicht starten möchte.

Benutzer zu zwingen, App zu verwenden, ist schlecht, IMO. Splash-Bildschirm, der vorschlägt, es zu benutzen, ist okay, aber drücken Sie es nicht.

+0

Tritt dies auch auf, wenn ich ein zusätzliches Popup-Fenster erstelle, das auf die Absicht verweist: // wenn ja gedrückt. In diesem Fall hat der Benutzer eine explizite Geste gemacht? Wie: 'if (confirm (" Open GetVise? ") == true) { window.open (" Absicht: // scan/# Absicht; Schema = zxing; Paket = com.google.zxing.client.android; S .browser_fallback_url = http% 3A% 2F% 2Fzxing.org; Ende "); } sonst { } \t '. – JanScott

+0

Versuchen Sie es, aber es ist immer noch Javascript, IMO würde es auch nicht funktionieren. – Mark

+0

Ich habe es mit einer Problemumgehung vermieden, Javascript zu verwenden. Ich benutze stattdessen den .htaccess mit Rewrite-Regeln. – JanScott

Verwandte Themen