2010-04-24 9 views
15

Estoy tratando de entender desde la API el propósito de PendingIntent.¿Cuándo utilizarías PendingIntent?

A veces, algunos métodos que uso requieren esto, todavía no entendí bien la idea.

¿Alguien podría explicarlo? ¿Por qué no puedo usar el contexto?

Gracias,

Moshik

Respuesta

19

Un PendingIntent es una combinación de una acción bruto (iniciar una actividad? Iniciar un servicio? Enviar una difusión?), Los detalles de la acción (en la forma de un Intent) y un Context. El PendingIntent se entrega al sistema operativo, que realizará la acción bruta en el Intent en algún punto futuro (por lo tanto, "pendiente"). El Context es por seguridad: Android ejecutará el PendingIntent con solo los permisos del Context, por lo que un PendingIntent no puede acceder a las cosas que el Context que lo solicita no puede.

+0

Entonces, si iam está haciendo las cosas bien, usaría la intención pendiente en casos de intención regular cuando quiero asegurarme de que estoy accediendo a las cosas a las que puede acceder el contexto. – Moshik

+0

Utiliza un 'PendingIntent' cuando necesita uno para un parámetro de método. – CommonsWare

+0

Un ejemplo del mundo real sería muy útil. – satur9nine

2

Un Intento pendiente es un token que le da a otra aplicación como el Administrador de notificaciones que permite que esta otra aplicación use los permisos de su aplicación para ejecutar un código predefinido.

Se activan algunas actividades después de un tiempo o invocadas por algún evento específico para ese intento pendiente. Y el intento generalmente pendiente se almacena en una cola de proceso.

La intención normal se usa en ese momento en particular, pero el intento pendiente se usa como tiempo predefinido.

p. Ej. Administrador de alarmas que se llama en un momento específico.

Cuestiones relacionadas