Open android application from a web page

2019-01-08 19:14发布

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> 

4条回答
相关推荐>>
2楼-- · 2019-01-08 19:39

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.

查看更多
在下西门庆
3楼-- · 2019-01-08 19:45

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

查看更多
来,给爷笑一个
4楼-- · 2019-01-08 19:45

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

查看更多
爷的心禁止访问
5楼-- · 2019-01-08 19:52

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">
查看更多
登录 后发表回答