2012-08-02 20 views
13

sé que para la apertura de aplicaciones para Android desde un enlace dentro de una página web que tenemos que escribir lo siguiente en el AndroidManifest.xml:abierto de aplicaciones para Android desde una página web

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

El problema es que lo escribí de la siguiente manera:

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

no añadí "android.intent.action.VIEW" y en su lugar he añadido mi propia acción que hice. No puedo cambiarlo porque la versión ya está disponible.

La pregunta es, si hay una forma de hacer que la aplicación se ejecute desde JavaScript o una simple página html, ¿tal vez definiendo la acción específica en la página?

Gracias,

Paz.


resuelto:

Gracias a David he encontrado una solución:

<a href="intent://my_host#Intent;scheme=my_scheme;action=my_action;end">Link to my stuff</a> 
+0

Por qué no puedes simplemente lanzar una actualización al mercado para solucionarlo? –

+0

Seguramente resolverá el problema pero simplemente no puedo lanzar una nueva versión debido a las limitaciones de la compañía. – Paz

+0

posible duplicado de [Cómo abrir una aplicación iOS nativa desde una aplicación web] (http://stackoverflow.com/questions/10237031/how-to-open-a-native-ios-app-from-a-web- aplicación) –

Respuesta

18

Prueba esto:

Haga que sus enlaces se ven así:

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

también echa un vistazo a Launch custom android application from android browser

+0

Gracias David, ¿qué quieres decir con intención: #Intent? ¿No debería ser my_scheme: // my_host o debería escribirlo tal como está (intento: #Intent)? – Paz

+0

No he intentado esto por mí mismo, pero parece que puede iniciar un Intent desde un navegador web utilizando este formato de enlace. No creo que tu URL 'myscheme: // my_host' funcione en este caso porque el navegador solo creará un Intento con' action = android.intent.action.VIEW' y esto no coincidirá con tu filtro de intención. Necesitarás jugar con eso. Házmelo saber si lo averiguas. –

+1

Sí, lo entendí. Voy a intentar eso y actualizarte, gracias. – Paz

-2

primera manera:

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

O
segunda forma: https://stackoverflow.com/a/24023048/2165415

2

declarar AndroidMainfest:

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

puede dejar que invocan a

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

o añadir url similares parámetro en Brower

<a href = "schemeName://hostName/path?id=1&name=mark"> 
Cuestiones relacionadas