Reputation: 375
I know that for opening android application from a link inside a web page we have to write the following in the AndroidManifest.xml
:
<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="my_scheme" android:host="my_host" />
</intent-filter>
The problem is that I wrote it in the following way:
<intent-filter>
<action android:name="my_action"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="my_scheme" android:host="my_host" />
</intent-filter>
I didn't add android.intent.action.VIEW
and instead I added my own action that i made.
I can't change it because the version is already released.
The question is,
if there's a way to make the application run from JavaScript or simple html page, maybe by defining the specific action in the page?
Thanks,
Paz.
SOLVED:
Thanks to David I found a solution:
<a href="intent://my_host#Intent;scheme=my_scheme;action=my_action;end">Link to my stuff</a>
Upvotes: 32
Views: 89350
Reputation: 2998
One way as 林平君 saied,and another way by invoking js method ,code as follow:
function openAActivity(){
window.location = "schemeName://hostName/path"
}
this method will send an Android intent to start specified activity.
Upvotes: 1
Reputation: 141
AndroidMainfest declare:
<activity android:name="...">
<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="hostName"
android:path="path"
android:scheme="schemeName" />
</intent-filter>
</activity>
you can let to invoke
<a href = "schemeName://hostName/path">
or add param similar url in brower
<a href = "schemeName://hostName/path?id=1&name=mark">
Upvotes: 7
Reputation: 56341
1st way:
<html><head></head><body>
<iframe src="YourApp://profile/blabla" width="1px" height="1px" scrolling="no" frameborder="0"></iframe>
<script>
setTimeout(function() {
window.location = "http://YourSite.com/profile/blabla"; }, 4000
);
</script>
</body>
</html>
OR
2nd way:
https://stackoverflow.com/a/24023048/2165415
Upvotes: -5
Reputation: 95568
Try this:
Make your links look like this:
<a href="intent:#Intent;action=my_action;end">Link to my stuff</a>
Also have a look at Launch custom android application from android browser
Upvotes: 36