Con el lanzamiento de Android Q y sus increíbles funciones, también introdujo los accesos directos compartidos. En Q, la API Direct Share se reemplazó con la API Sharing Shortcut.
Recepción de datos de extremos simples
Una aplicación no solo puede transmitir datos a otras aplicaciones, sino que también puede recibir datos de otras aplicaciones. Considere cómo interactúan los usuarios con su aplicación y qué tipos de datos desea recopilar de otras aplicaciones. Por ejemplo, una aplicación de red social puede estar interesada en recibir información de texto de otra aplicación, como la URL de un sitio intrigante. Los accesos directos para compartir, una forma más rápida de compartir material desde su aplicación, se presentan en Android Q. Piense en ello como compartir directamente con esteroides. Esta publicación explicará la distinción entre los dos y cómo usar los accesos directos para compartir.
¿Hacer objetivos fabulosos para compartir?
Con frecuencia, los usuarios proporcionarán datos a su aplicación a través de Android Sharesheet o la resolución de intenciones. El tipo MIME de todos los datos recibidos está determinado por la aplicación que lo proporciona. Su aplicación puede aceptar datos proporcionados por otra aplicación de tres maneras:
- Una actividad en el manifiesto con una etiqueta de filtro de intención coincidente
- Los accesos directos compartidos de ChooserTargetService de su aplicación devuelven uno o más objetos de ChooserTarget.
- Estos tienen prioridad sobre los objetos ChooserTarget.
- Solo se puede acceder a los accesos directos para compartir si su aplicación se ejecuta en Android 10 o superior (nivel de API 29).
<activity android:name=".something.GeeksforGeeks" > <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/plain" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/*" /> </intent-filter> </activity>
Aparte de eso, ¿qué es exactamente un servicio selector?
La hoja para compartir se presenta cuando un usuario, por ejemplo, desea compartir información de texto desde una aplicación. Durante el proceso de preparación de la hoja, el sistema solicita servicios específicos del selector para obtener una lista de los objetivos del selector, que puede ser un contacto enviado regularmente por correo electrónico en su dispositivo, una discusión de mensajes grupales recientemente activa o cualquier otro elemento relevante.
Técnicamente, el servicio de selección es un servicio de Android al que llama el sistema cuando un usuario solicita expresamente que otra aplicación elija un objetivo para una intención, y proporciona una lista de objetivos de selección que se vinculan profundamente con la aplicación seleccionada.
<intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/*" /> </intent-filter>
Cuando otra aplicación intente compartir cualquiera de estos elementos mediante la creación de una intención y dándosela a startActivity(), su aplicación se mostrará como una opción en la hoja compartida de Android o en la resolución de intenciones. Si el usuario elige su aplicación, se iniciará la actividad asociada (.ui.MyActivity en el ejemplo anterior). Luego, depende de usted administrar adecuadamente el material dentro de su código y UI. El manifiesto de la aplicación debe incluir los metadatos necesarios para operar con bibliotecas compatibles. Haz esto como:
<activity android:name=".GeeksforGeeks"> ... <meta-data android:name="gfg.sampleApp.gfgShorts" android:resource="@xml/shortcuts"/> </activity>
Ocúpate de las cosas entrantes
Para manejar el material proporcionado por un Intent, use getIntent() para obtener el objeto Intent. Una vez que haya obtenido el objeto, puede estudiar su contenido para averiguar qué hacer a continuación. Tenga en cuenta que si esta actividad puede lanzarse desde otras áreas del sistema, como el lanzador, debe tener esto en cuenta al analizar el propósito.
GeekTip: cuando un atajo está configurado para durar mucho tiempo, los servicios del sistema pueden continuar recuperándolo del caché incluso después de que se haya eliminado como un atajo dinámico.
Ahora, para probar, simplemente comparta un texto y luego, en la aplicación de muestra, ¡verá los accesos directos emergentes!
Publicación traducida automáticamente
Artículo escrito por icloudanshu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA