Chcę otworzyć aplikację na Androida, gdy użytkownik kliknie link do mojej strony internetowej (najlepiej z postu na Facebooku, ale zacznijmy od zwykłego adresu URL).Otwarta aplikacja z adresu URL działa w przeglądarce Firefox na Androida, ale nie w Google Chrome.
Aby to osiągnąć, Utworzyłem działalność UrlReceiver
i dodaje ten kod do mojego pliku AndroidManifest.xml
(adresy są tylko dla celów testowania):
<activity
android:name=".main.core.UrlReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:host="martinfowler.com"
android:pathPrefix="/"
android:scheme="http"/>
<data
android:host="www.martinfowler.com"
android:pathPrefix="/"
android:scheme="http"/>
<data
android:host="test"
android:scheme="myapp"/>
</intent-filter>
</activity>
A to działa na Firefox dla Androida, po wpisaniu myapp://test/
automatycznie otwiera się moja aplikacja, gdy wprowadzę martinfowler.com
obok adresu URL, który prowadzi do mojej aplikacji, znajduje się głowa Androida. I to jest w porządku.
Ale jest nie działa na Google Chrome. Po wprowadzeniu myapp://test/
rozpoczyna się wyszukiwanie w Google, a po wpisaniu martinfowler.com
otwiera się strona internetowa.
zacząłem kopać na ten temat w internecie i znaleźliśmy ten dokument: https://developer.chrome.com/multidevice/android/intents, exmplaining że niestandardowych schematów nie będą działać w Chrome już tak próbowałem używając tych adresów URL (w zależności od dokumentu):
intent://test/#Intent;scheme=myapp;package=com.my.app;end
intent://#Intent;scheme=myapp;package=com.my.app;end
intent://test/#Intent;package=com.my.app;scheme=myapp;end
intent://#Intent;package=com.my.app;scheme=myapp;end
Ale to także rozpoczyna wyszukiwanie w Google. Co mogę zrobić, aby otworzyć aplikację z adresu URL w przeglądarce Google Chrome?
Testowałem to zarówno na KitKat, jak i Lolipop.
Dziękuję. Który z powyższych linków był na końcu działający? –
W przeglądarce Google Chrome? Nie musisz klikać linku, nie możesz go wpisać/skopiować w Chrome Omnibox (pasek wyszukiwania). – KlimczakM