2011-01-17 16 views
5

Me gustaría saber si podemos tener un enlace en un SMS que sería manejado por mi aplicación. Por ejemplo, un enlace que se vería como myapp: // blabla. Y al hacer clic en él, myapp se abrirá con el enlace como argumento.Enlace a una aplicación de Android de SMS/correo

Esta pregunta también se refiere al correo electrónico, ya sea desde un archivo con una extensión especial o un enlace como en el SMS.

Muchas gracias por su ayuda.


Edición 31/01

En realidad, hice lo que sugirió Greg, pero no funciona. Tal enlace (myapp: // blabla) no se puede hacer clic en un SMS/correo electrónico ... Cuando reemplazo myapp con http como un esquema, funciona (Android me pregunta si debe abrir el enlace con myapp o el navegador). Pero myapp: // blabla no se puede hacer clic con myapp como un esquema. Aquí está mi código:

<application android:icon="@drawable/icon" android:label="@string/app_name" 
android:debuggable="true"> 
<activity android:name=".myapp" 
      android:label="@string/app_name" 
      android:theme="@android:style/Theme.NoTitleBar" 
      android:launchMode="singleTask" 
      android:screenOrientation="portrait"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data android:scheme="myapp" android:host="blabla" /> 
     </intent-filter> 
    </activity> 

    <activity android:name=".SecondActivity"></activity> 
    <activity android:name=".SettingsActivity"></activity> 
</application> 

Respuesta

2

Sí se puede con un filtro de intención.

Básicamente en su Manifiesto de Android, elija una actividad que quiera que sea la que maneja la url dada.

<activity android:name=".myactivies.MyActivity"> 
<intent-filter> 
<action android:name="android.intent.action.VIEW"/> 
<category android:name="android.intent.category.DEFAULT"/> 
<data android:scheme="myapp" android:host="blabla" /> 
</intent-filter> 
</activity> 

Luego, dentro de su actividad puede obtener la url llamando a getData() con la intención.

+0

Muchas gracias Greg! Lo intentaré. – Vincent

+0

Hola Greg. En realidad, lo hice pero no funciona. Tal enlace (myapp: // blabla) no se puede hacer clic en un SMS/correo electrónico ... Cuando reemplazo myapp con http como un esquema, funciona (Android me pregunta si debe abrir el enlace con myapp o el navegador). Pero myapp: // blabla no se puede hacer clic con myapp como un esquema. Alguna idea ? – Vincent

+0

¿puedes publicar lo que escribiste? Me parece que el analizador y el modelo que genera son muy indulgentes y no te dirá cuándo algo está configurado a medias, simplemente no funcionará. –

Cuestiones relacionadas