web-dev-qa-db-fra.com

Ouvrez Android à partir d'une page Web

Je sais que pour ouvrir Android à partir d'un lien à l'intérieur d'une page Web, nous devons écrire ce qui suit dans le 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>

Le problème est que je l'ai écrit de la manière suivante:

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

Je n'ai pas ajouté Android.intent.action.VIEW et à la place j'ai ajouté ma propre action que j'ai faite. Je ne peux pas le changer car la version est déjà sortie.

La question est,

s'il existe un moyen de faire fonctionner l'application à partir de JavaScript ou d'une simple page html, peut-être en définissant l'action spécifique dans la page?

Merci,

Paz.


RESOLU:

Grâce à David, j'ai trouvé une solution:

<a href="intent://my_Host#Intent;scheme=my_scheme;action=my_action;end">Link to my stuff</a> 
19
Paz

Essaye ça:

Faites ressembler vos liens à ceci:

<a href="intent:#Intent;action=my_action;end">Link to my stuff</a>

Jetez également un œil à Lancer l'application personnalisée Android application depuis Android

22
David Wasser

AndroidManifest déclare:

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

vous pouvez laisser invoquer

<a href = "schemeName://hostName/path">

ou ajouter une URL similaire à un paramètre dans le navigateur

<a href = "schemeName://hostName/path?id=1&name=mark">
3
林平君

D'une façon comme 林平君 dit, et d'une autre façon en appelant la méthode js, codez comme suit:

function openAActivity(){
     window.location = "schemeName://hostName/path"

}

cette méthode enverra une Android intention de démarrer l'activité spécifiée.

1
Aolphn