I have been experimenting with the Intent Filters for the past few hours, and I am really confused as to why the Google tutorial code for Handling App Links via Intent Filters is not working on my physical Samsung S8 devices's default Samsung browser or Firefox installed on it however working from the Google Chrome app.
The code also works both in the default Android Studio Nexus 5's emulator default browser app as well as from Google Chrome.
Here is the relevant code I have in the AndroidManifest.xml
of the bare-bones app I am trying to diagnose the problem with:
<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:scheme="http" />
<data android:scheme="https" />
<data android:host="www.android.com" />
</intent-filter>
What I am doing to test:
I click on a link for https://www.android.com from a search results page on Google.
I expect to see a open with dialog with my test apps name however it does not show when I try this from anything but the the google chrome browser (and the Nexus 5 emulators default browser) it just automatically shows the webpage with no popup dialog.
N.B. I have tried also tried the following things so far to no avail:
<intent-filter android:autoVerify="true">
<data android:host="www.android.com/" />
in case the the problem has anything to do with the /
at the end of URL.Does anyone know why this is happening / how to fix this?
The browsers itself need to support and implment the browsability. The browsers have to find other activities supporting android.intent.category.BROWSABLE
when opening a web-page.
Firefox implements a less invasive experience to the user. When an url is opened which has a deep link to an app, the url bar displays a page action with a little Android head. Clicking on this one will open the link with an Android activity other than a browser.
The behavior of the Android browser and Chrome you observed and made your expectation. So nothing to add to this.
I'm not sure if I can fully talk about the Samsung browser, because the versions I have on my devices might be somehow outdated; but I couldn't make it work with these at all.
The android:autoVerify
attribute only makes the app the default on installation. android:host="www.android.com/"
is just wrong, because /
is the path and not part of the host.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With