¿Cómo establecer la acción, categoría y datos para la intención?
Estoy programando una aplicación de Android. Quiero invocar otras aplicaciones para realizar ciertas operaciones (enviar correos electrónicos, etc.) ¿Cómo puedo saber qué acción y categoría establecer para la intención? ¿Debería buscar filtro de intención de otra aplicación? ¿Qué pasa si esa aplicación no es de código abierto?
Además, para los datos o atributo adicional, no sé cómo la aplicación de terceros se encargará de mi intención, por lo que no sé cómo configurar los atributos. Por ejemplo, quiero una cadena como el título del correo electrónico, una cadena como el contenido del correo electrónico, y otra cadena como el destinatario, y una imagen como el archivo adjunto. ¿Puedo incluir toda esta información en la intención? ¿Qué sucede si la aplicación de terceros no proporciona ninguna funcionalidad para manejarla?
- Obtener resultado de una actividad después de terminar (); En una prueba de unidad de Android
- Diferencia entre las preferencias compartidas y los proveedores de contenido en android
- La aplicación se bloquea al hacer una nueva intención. No Error Clase Def Encontrado
- Error "No se puede iniciar el servicio de intención" al iniciar el servicio desde una actividad en Android
- Crear una intención en un nuevo método
- Comprobación de la configuración de Acceso a la notificación de seguridad del sistema de Android mediante programación
- ¿Es posible compartir una imagen en Android mediante una URL de datos?
- ¿Existe una lista definitiva de patrones de uri para su uso en aplicaciones Android hechas por google?
- Compartir imagen no funciona en viber y facebook
- ¿Por qué Intent implementa Cloneable?
- ¿Cómo regresar a mi aplicación, después de llamar intención externa (api de calendario) y hacer algo de trabajo?
- ¿Cómo implementar onBackPressed () & intenciones en el fragmento?
- ¿Existe la intención de lanzar Android Market a la página "Mis aplicaciones"?
Por lo general, para tareas comunes en Android hay un propósito general que envía en el que otras aplicaciones pueden registrarse.
Por ejemplo, para compartir algún texto, crearía una intención como:
Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send."); sendIntent.setType("text/plain"); startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_to)));
Mostrará el diálogo de partes nativas de android en el que el usuario puede elegir cómo desea compartirlo.
Específicamente para el correo electrónico que haría algo como:
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts( "mailto","[email protected]", null)); intent.putExtra(Intent.EXTRA_SUBJECT, "This is my email subject"); startActivity(Intent.createChooser(intent, "Email"));
Otros ejemplos pueden ser lanzar la aplicación sms predeterminada:
Intent sendIntent = new Intent(Intent.ACTION_VIEW); sendIntent.setData(Uri.parse("sms:")); sendIntent.putExtra("sms_body", getMessageBody());
O abre el marcador del teléfono:
Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:"+number)); startActivity(intent);
Usted necesita averiguar cuáles son las acciones que desea implementar en su aplicación y, a continuación, averiguar cómo implementar cada uno de ellos.
Puede encontrar más datos aquí:
- Compartición de contenido de Android
- Intenciones de Android – bajo las diversas acciones intencionales
Trate de usar la categoría y las acciones en la intención.
Intent mailIntent = new Intent(Intent.ACTION_SEND); mailIntent.setType("text/plain"); mailIntent.putExtra(Intent.EXTRA_SUBJECT, "Reporting mail"); mailIntent.putExtra(Intent.EXTRA_TEXT, "Some message"); mailIntent.putExtra(Intent.EXTRA_EMAIL, "[email protected]"); startActivity(mailIntent);
Este es un ejemplo para enviar correo electrónico. Para más detalles, consulte http://developer.android.com/guide/components/intents-common.html
- Mediacodec jelly-bean
- ¿Cómo puedo usar filtro para emma cuando construyo una prueba de Android con ant para un proyecto de biblioteca?