Open android application from a web page

72,462

Solution 1

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

Solution 2

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">

Solution 3

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.

Share:
72,462

Related videos on Youtube

Paz
Author by

Paz

Updated on August 01, 2022

Comments

  • Paz
    Paz almost 2 years

    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> 
    
    • David Wasser
      David Wasser almost 12 years
      Why can't you just release an update to the market to fix it?
    • Paz
      Paz almost 12 years
      It will surely solve the problem but i just can't release a new version due to company limitations.
  • Paz
    Paz almost 12 years
    Thanks David, what do you mean by intent:#Intent? shouldn't it be my_scheme://my_host or should i write it as it is (intent:#Intent)?
  • David Wasser
    David Wasser almost 12 years
    I've not tried this myself, but it looks like you can launch an Intent from a web browser by using this link format. I don't think your myscheme://my_host URL will work in this case because the browser will just create an Intent with action=android.intent.action.VIEW and this won't match your Intent filter. You'll need to play with it some. Let me know if you figure it out.
  • Paz
    Paz almost 12 years
    Hi David, since i'm using host and scheme, this is the full solution: <a href="intent://my_host#Intent;scheme=my_scheme;action=my_act‌​ion;end">Link to my stuff</a> thanks for your help.
  • Matheus Oliveira
    Matheus Oliveira over 7 years
    Hey, if I want to open a web site in google chrome for android how it would be? What should I put in intent? and in my action?
  • David Wasser
    David Wasser over 7 years
    @MatheusOliveira please open a new question. Asking your question in a comment on this answer isn't the way to get an answer. If you ask a new question you are more likely to get some attention.
  • danipenaperez
    danipenaperez about 7 years
    My two cents ....If the link goes inside an HTML email does not work because Gmail remove this kind of hiperlinks.
  • aolphn
    aolphn about 6 years
    you can invoke js method to do this. Code as follow:
  • Pradeep Bishnoi
    Pradeep Bishnoi about 6 years
    i want sent parameters like username and password in intent how to sent can anyone help?
  • David Wasser
    David Wasser about 6 years
    @PradeepBishnoi Please open a new question. Asking a question in a comment like this isn't going to get you the help you need. Good luck!
  • David
    David almost 5 years
    Docs for intent: syntax can be found here: developer.chrome.com/multidevice/android/intents