Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Open android application from a web page

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> 
like image 356
Paz Avatar asked Aug 02 '12 08:08

Paz


3 Answers

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

like image 125
David Wasser Avatar answered Nov 19 '22 17:11

David Wasser


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">
like image 6
林平君 Avatar answered Nov 19 '22 16:11

林平君


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.

like image 1
aolphn Avatar answered Nov 19 '22 16:11

aolphn