¿Cómo abrir una aplicación instalada desde una URL de correo electrónico en Android?

Quiero abrir mi aplicación desde una URL de correo electrónico, básicamente como el ejemplo que se muestra a continuación para Twitter.com .

Correo electrónico con enlace:

Correo electrónico con enlace

Selección para abrir la aplicación o el navegador:

Seleccionar aplicación o navegador

Después de hacer clic en la opción de la aplicación, se abre la aplicación de Twitter:

Abrir aplicación de Twitter

He intentado el siguiente código, pero no funciona:

<intent-filter> <action android:name="android.intent.action.VIEW"></action> <category android:name="android.intent.category.DEFAULT"></category> <category android:name="android.intent.category.BROWSABLE"></category> <data android:host="www.twitter.com" android:scheme="http"></data> </intent-filter> 

Si alguien tiene una respuesta apropiada, por favor escriba algunos ejemplos aquí.

El siguiente código funcionó para mí:

 <intent-filter> <action android:name="android.intent.action.VIEW"></action> <category android:name="android.intent.category.DEFAULT"></category> <category android:name="android.intent.category.BROWSABLE"></category> <data android:host="www.my.app.com" android:path="launch" android:scheme="http"></data> </intent-filter> 

Con el enlace de correo electrónico establecido como http://www.my.app.com/launch .

Ref: Lanzamiento de la aplicación de Android desde enlace o correo electrónico

Sólo tienes que ir a través de este documento Deeplinking google. Usted llegará a conocer este profundo concepto de vinculación.

Espero que esto ayude a algún cuerpo.

Ex: Su url será algo como https://roadies.com y tiene el filtro de intenciones en manifesto como a continuación

  android:name="com.droid.MainActivity" android:label="@string/app_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="roadies.com" android:scheme="https" /> </intent-filter> </activity> 

Para mí, ninguna de las respuestas publicadas aquí funcionó. He intentado decenas de sintaxis diferentes sin ningún éxito. Estaba recibiendo un error de análisis mientras construía la aplicación a través de Córdoba.

Finalmente encontré esta respuesta que me llevó en el camino correcto.

Así que creé un gancho en la carpeta PROJECT_ROOT/hooks/after_prepare/ llamada 010_add_intent_filters.sh . Aquí está el contenido de este gancho:

 !/usr/bin/bash MANIFEST=./platforms/android/AndroidManifest.xml grep -q pathPattern $MANIFEST && { print "Manifest already modified. Nothing to do."; exit 0; } AFTER_LINE='android:name="MainActivity"' ADDITION='\ <intent-filter>\ <action android:name="android.intent.action.VIEW"></action>\ <category android:name="android.intent.category.DEFAULT"></category>\ <category android:name="android.intent.category.BROWSABLE"></category>\ <data android:scheme="https" android:host="google.com" android:pathPattern=".*"></data>\ </intent-filter> '; sed -i -e "/${AFTER_LINE}/a${ADDITION}" $MANIFEST 

Esto finalmente funcionó. No se requiere ninguna modificación en config.xml si se toma la ruta de acceso al gancho. Espero que esto ayude a alguien en necesidad.

PS: Estoy convencido de que Cordova es una gran tecnología, pero rara vez he visto una biblioteca tan mal documentada … Qué doloroso es trabajar con ella es increíble.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.