Acciones de aplicación predefinidas. Enlace a mi aplicación de Contactos
Quiero escribir la aplicación que está conectada con los contactos.
Escenario:
- Set timeout Diálogo en android?
- Android Prevent Bluetooth Dialing Dialog
- Fuerza de diálogo personalizada de Android cierre
- Cómo obtener datos de un cuadro de diálogo personalizado
- El cuadro de diálogo no muestra el botón positivo y negativo
- Ingresar al teléfono Contactos
-
Elegimos el elemento de contacto
-
Y el icono de mi aplicación debería aparecer en el cuadro de diálogo de QuickAction.
- Hago clic en el icono de mi aplicación y la aplicación comienza con los datos del registro de contacto.
¿Qué tengo que añadir a AndroidManifest para hacerlo?
- Inhabilitación (atenuación y descoloración) de la animación del cuadro de diálogo
- Cambiar el contenido de un cuadro de diálogo de Android después de la creación
- Android hace que el cuadro de diálogo esté completo con la barra de estado mostrando
- ¿Cómo puedo crear un diálogo personalizado con dos datepicker?
- ¿Descartar un diálogo personalizado?
- Cómo configurar los márgenes en un cuadro de diálogo personalizado?
- ¿Cómo configurar el diálogo para mostrarlo con pantalla completa?
- Android AlertDialog setOnDismissListener para API inferior a 17
Agregue este filtro de intenciones para que su aplicación sea visible para todos los contactos.
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="vnd.android.cursor.item/name" /> </intent-filter>
Cambie el tipo de mimet, de modo que sólo los contactos con un determinado dato tengan su actividad.
Por ejemplo, si desea que su actividad se muestre sólo para contactos con correo electrónico, cambie el tipo de mimetype a vnd.android.cursor.item/email_v2
. Puede obtener los nombres de los tipos de mimet de las subclases de DataColumns
Exactamente este comportamiento es posible sólo cuando su aplicación en una aplicación única en el dispositivo de los usuarios que es capaz de procesar el tipo de contenido deseado. Por ejemplo, si desea utilizar el tipo de contenido "enviar SMS" o "hacer una llamada telefónica", es probable que su aplicación no sea la única en el dispositivo que pueda procesar dichas acciones (también hay un teléfono de marcación telefónica y SMS Aplicaciones).
De todas formas, siempre puedes agregar tu aplicación a la lista de aplicaciones que aparecerá cuando el usuario haga clic en esas acciones rápidas. Se verá así:
Para hacer esto, usted necesita:
-
Especifique en su archivo de manifiesto que su aplicación es capaz de manejar la acción deseada, por ejemplo, "enviar SMS". Para ello, debe agregar un filtro de intenciones a su Actividad, que desea que se llame en ese caso:
<intent-filter> <action android:name="android.intent.action.SENDTO" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="sms" /> <data android:scheme="smsto" /> </intent-filter>
-
En su actividad de destino, agregue código, que procese el tipo de contenido deseado. En el método Activity
onCreate()
onNewIntent()
o en el parámetro de cadena de datos de la consulta del métodoonNewIntent()
desde la llamada a Intent. He aquí un ejemplo de código para demostrar una idea general:public class MyActivity extends Avtivity { @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); String dataStr = intent.getDataString(); // do some processing with dataStr } @Override protected void onCreate(Bundle savedInstanceState) { Intent callIntent = getIntent(); String dataStr = callIntent.getDataString(); // do some processing with dataStr } }
- Uso del elemento de entrada de fecha HTML5 con android
- En Facturación de aplicaciones – Orientación rápida de dispositivos – causa bloqueo (IllegalStateException)