Haz que la aplicación para Android escute los enlaces compartidos

Quiero que aparezca mi aplicación de Android como una opción cuando el usuario comparta una URL de otra aplicación (como el navegador). ¿Cómo puedo registrar mi aplicación para hacer eso? ¿Cómo puedo reaccionar a las acciones de enlace?

Muchas gracias.

Editar:

He intentado usar IntentFilter como esto sin éxito:

<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter> 

¿Algunas ideas?

3 Solutions collect form web for “Haz que la aplicación para Android escute los enlaces compartidos”

En el mínimo muy mínimo que necesita:

 <activity android:name=".ShareActivity"> <intent-filter android:label="Share with my app"> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 

En su manifiesto … que al menos lo hará aparecer en la lista de "compartir".

La parte más importante que te falta es:

 <action android:name="android.intent.action.SEND" /> 

Para hacer que realmente haga algo, necesita una Actividad.

Esto también puede ayudar: http://sudarmuthu.com/blog/sharing-content-in-android-using-action_send-intent

Información adicional:

 <activity android:name=".ShareActivity"> <intent-filter android:label="Share with my app"> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/plain" /> </intent-filter> </activity> 

Allí, <data android:mimeType limitará lo que responda, si desea limitar la respuesta de su aplicación.

Para obtener la imagen en su actividad, utilice Uri imgUri = (Uri) i.getParcelableExtra(Intent.EXTRA_STREAM); Para una sola imagen, o utilice ArrayList<Uri> imgUris = i.getParcelableArrayListExtra(Intent.EXTRA_STREAM); Para una lista de imágenes:

 Intent i = getIntent(); Bundle extras = i.getExtras(); String action = i.getAction(); // if this is from the share menu if (Intent.ACTION_SEND.equals(action)) { if (extras.containsKey(Intent.EXTRA_STREAM)) { Uri imgUri = (Uri) i.getParcelableExtra(Intent.EXTRA_STREAM); // Do job here } } 

Espero que ayude

Debe crear una actividad con el filtro de intención adecuado. Lea la documentación sobre Intent , explica todo esto con ejemplos.

  • Lectura de la respuesta HttpPost
  • Diferencias entre IntelliJ IDEA 13 y Android Studio
  • Convertir valor Arraylist <Object> en byte
  • Cómo actualizar el mismo EditText con TextWatcher?
  • Cambiar la vista establecida drawables para el pulgar y la pista de tamaño específico
  • debug.keystore no existe
  • Hacer parte de una cadena audaz en textview
  • Cómo medir el tiempo transcurrido
  • ¿Cómo puedo importar una biblioteca de Android y usarla tanto en el código de producción como en las pruebas?
  • Error de Android: MultipartEntity, la solicitud enviada por el cliente fue sintácticamente incorrecta
  • Comprueba si es el primer usuario de mi aplicación en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.