Buscando explicación de los laicos sobre el concepto de intención pendiente

Esta es una pregunta bastante obsoleta, pero francamente todavía estoy para encontrar respuesta de una manera que satisfaga mi curiosidad.

Antes de que usted, estimado lector, salte a la referencia de desarrollador de Android para pegarme el texto, por favor, tenga en cuenta que ya he leído la intención / intención pendiente de la documentación y todavía estoy para resolver mi confusión.

Me parece que el modelo Intent es fundamental para el sistema androide y como tal es altamente genérico. Es por esto que los ejemplos que he visto de su uso tienden a ser muchos y variados. Esta variación ofusca los conceptos que estoy tratando de aprender y que es frustrante.

Mis preguntas son simplemente escritas pero quizás difíciles de explicar en términos simples. Entiendo que una intención es un mensaje a otras actividades y que otras actividades pueden declarar su interés en su manifiesto. La intención pendiente, una envoltura para la intención, me confunde.

  1. Veo la documentación referente a permisos y token. Lo entiendo, pero ¿por qué se necesita la intención pendiente como una entidad separada – ¿qué comportamiento permite?
  2. ¿Qué tipo de comportamiento de ciclo de vida de la actividad / tarea hacen causas pendientes?
  3. ¿Cuándo se requiere un receptor de difusión?
  4. ¿Cuáles son las limitaciones de un receptor de radiodifusión?

Me doy cuenta de que son preguntas muy nuevas (que soy), pero desesperadamente quiero entender estos conceptos básicos, así que no tengo que confiar tanto en ejemplos / guías / documentos oficiales.

Cualquier regeneración es gente bienvenida. Gracias.

El propósito principal de una PendingIntent es darle a otra aplicación un permiso por escrito para hacer algo en su lugar. Las aplicaciones están restringidas en lo que se les permite hacer, básicamente, por estos dos factores:

  • Visibilidad. Los componentes como Servicios o Actividades que no se proporcionan con un filtro de intenciones públicamente visible (o cualquier) no pueden ser llamados por otras aplicaciones. Sólo pueden ser llamados por su aplicación usando intenciones explícitas especificando su paquete y nombre de clase.
  • Permisos. Cada aplicación puede solicitar una cierta cantidad de permisos. Estos son en su mayoría permisos predefinidos, pero usted tiene la opción de definir sus propios permisos, así, aunque nunca he usado eso. Su aplicación no puede hacer nada que exceda esos permisos.

Ahora, con las intenciones pendientes, puede superar ambas restricciones, si una aplicación que tiene los permisos necesarios y la visibilidad para hacer algo específicamente le permite hacerlo en su lugar. Una aplicación podría permitirle llamar a una de sus actividades privadas, por ejemplo, si le da una intención pendiente que contiene una intención explícita para dichas actividades.

[Editar] Se utilizan con el administrador de alarmas, por ejemplo. Le dice al administrador de la alarma qué y cuándo hacer, dándole una intención (pendiente). Dado que su aplicación probablemente no estará allí más cuando llegue el momento, el administrador de alarmas tendrá que enviarlo por usted. Eso significaría que esas intenciones sólo podrían hacer lo que el administrador de alarmas se le permite hacer, no lo que su aplicación se le permite hacer. Si al administrador de alarmas se le permitiera simplemente hacer algo, cada aplicación podría hacer algo usando el administrador de alarmas como un proxy. Así que tienes que usar intentos pendientes para otorgar específicamente al administrador de alarmas los derechos que necesita para tu intención particular.

Aparte de eso, no hay demasiada diferencia a las intenciones regulares, por lo menos en lo que respecta al uso. Se hace un poco más complicado con las intenciones pegajosas etc, pero esa es la esencia general de ella, por lo menos hasta donde yo sé.

Se requiere un receptor de difusión cuando se desea reaccionar ante determinados eventos del sistema o eventos de otras aplicaciones. Un receptor de difusión es invisible, no crea ninguna forma de vista y no implica ninguna forma de interacción del usuario. La ventaja es que esto puede suceder independientemente de si su aplicación (o mejor dicho, sus actividades) se están ejecutando o no.

Un receptor de difusión sólo se concede unos 10 segundos para hacer cosas, después de que se mata por el sistema. Así que si quieres realizar cualquier tipo de procesos largos tendrás que usar un servicio en segundo plano, o abrir una Actividad para que tus usuarios hagan cosas.

  • ¿Cómo regresar a mi aplicación, después de llamar intención externa (api de calendario) y hacer algo de trabajo?
  • New PendingIntent actualiza la intención actual
  • La notificación no se elimina al hacer clic en el botón de acción incluso después de proporcionar el ID de notificación
  • Enviar difusión al hacer clic en la notificación
  • Adición de indicadores a PendingIntent
  • Servicios de Google Play: ¿cómo comprobar si hay una devolución de llamada pendiente pendiente "activa" registrada en las actualizaciones de ubicación / reconocimiento de actividad?
  • AppWidget PendingIntent no funciona después de reiniciar el Lanzador
  • Pasando valores en intentos pendientes de Android
  • ¿Cómo abrir la aplicación principal de la usable?
  • Transmisión de datos del widget a la aplicación
  • Pasando intención extra a receptor de radiodifusión android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.