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.

  • Recuperar mediante programación permisos de manifest.xml en android
  • SwitchPreference y CheckBoxPreference en el código
  • ¿Es Lua la misma fuerza que Java en Android, o hay alguna limitación?
  • Muchas imágenes enfocadas con una centrada en android?
  • Añadir método en Android Copiar / pegar menú contextual global?
  • ¿Cómo obtener una imagen captcha de formulario con Jsoup?
  • Convertir JSON a Android Bundle
  • Excepción LayoutInflater
  • Lectura y escritura de archivos binarios en Java (viendo la mitad del archivo dañado)
  • Cómo hacer un fragmento desplazable basado en el predeterminado android PageView
  • Android cómo usar / mostrar MediaController con SurfaceView y MediaPlayer para video?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.