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.

  • Cómo saber el formato jpeg sin decodificar toda la imagen (android)
  • Android "gps requiere ACCESS_FINE_LOCATION" error, aunque mi archivo de manifiesto contiene este
  • Android - ViewCompat setBackgroundTintList no funciona en la API 21
  • ¿Cómo afectan las recientes vulnerabilidades de java a Android y la programación?
  • Reproducir un sonido cada N milisegundos
  • Hashtable es apropiado para almacenar activos?
  • MediaPlayer.create () devuelve siempre null
  • Formas de proxy un InputStream
  • ¿Cómo ejecutar pruebas de unidad para Android no está en el dispositivo o emulador?
  • StrictMode se queja de que InputStream no esté cerrado
  • DecodeByteArray y copyPixelsToBuffer no funcionan. SkImageDecoder :: Factory devuelto null
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.