I have been trying to launch the application from a link on email or from a posting on some social networking websites. The problem is that in some device or some gmail appl
Instead of using a custom scheme, you can have an <intent-filter>
that identifies a URL that you control:
<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="www.this-so-does-not-exist.com"
android:path="/something"
android:scheme="http"/>
</intent-filter>
Then, links to http://www.this-so-does-not-exist.com/something
will bring up your app (in a chooser, along with the Web browse) on devices that have your app, and will bring up your Web page on devices that do not have your app.
To trigger app link on a device, for instance, of your case myappname://processtobedone/?id=1
, the simplest way is to create a basic html page file (with name deeplink_test.html
) and send to your email, after that open this email and click to the html file, open with Chrome browser and click on the anchor link.
<html>
<head>
<title>DeepLink Test</title>
<head>
<body>
<a href="myappname://processtobedone/?id=1">run deeplink</a>
<body/>
</html>
Make a real link (http:) that goes a website you control, such as a static website on amazon s3, use the javascript on that site to detect an android user agent and then redirect to a link with the anchor tag.
<activity
android:name=".SplashEmailActivity"
android:screenOrientation="portrait"
android:exported="true"
android:launchMode="singleInstance" android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
android:windowSoftInputMode="stateHidden|adjustResize" >
<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" android:host="your.domain.name"/>
</intent-filter>
</activity>