¿Cómo implementar la función SHARE de una aplicación para Android?

A veces podemos ver que después de hacer clic en un botón "compartir", se muestra una lista de formas compartibles. Y esa lista parece generada dinámicamente y no codificada.

Por ejemplo, tengo SpringPad instalado en mi teléfono, y la función de compartir algunas aplicaciones es capaz de compartir el contenido a través de SpringPad, pero ¿cómo podría saber que tengo SpringPad?

¿Cómo implementar tal función? Gracias.

Aquí está el código real de mi aplicación Android BBC News que hace esto. Comparte la URL de la página. Si el usuario tiene aplicaciones de Facebook o Twitter instaladas, se les ofrecerá la oportunidad de compartir con esos servicios, así como con el correo electrónico, etc.

final Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_TEXT, pageUrl); try { startActivity(Intent.createChooser(intent, "Select an action")); } catch (android.content.ActivityNotFoundException ex) { // (handle error) } 

Si desea agregar su aplicación en esta lista, debe declarar <intent-filter> en AndroidManifest.xml de la aplicación y en su actividad de destino en onCreate() debe manejar esta intención.

Ejemplo (lo obtengo de la aplicación de correo electrónico y editado un poco).

Docs sobre los intentos y filtros de intenciones

Acerca de intento-filtro como elemento de AndroidManifest

Por ejemplo realización ver la fuente de Android aplicación de correo electrónico (archivos AndroidManifest.xml y src / com / android / email / activity / MessageCompose.java (en onCreate ())).

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