Hasta donde yo sé, un PendingIntent es un token que le da a una aplicación extranjera (por ejemplo, NotificationManager, AlarmManager, Home Screen AppWidgetManager u otras aplicaciones de terceros), que permite que la aplicación extranjera use los permisos de su aplicación para ejecutar una pieza predefinida de código.
- Aquí hay una explicación detallada de la pendiente pendiente
Una descripción de una intención y una acción objetivo para realizar con ella. Las instancias de esta clase se crean con getActivity (Context, int, Intent, int), getActivities (Context, int, Intent [], int), getBroadcast (Context, int, Intent, int) y getService (Context, int, Intent , En t); el objeto devuelto se puede entregar a otras aplicaciones para que puedan realizar la acción que describió en su nombre más adelante.
Al dar un PendingIntent a otra aplicación, le está otorgando el derecho de realizar la operación que ha especificado como si la otra aplicación fuera usted mismo (con los mismos permisos e identidad). Como tal, debe tener cuidado con la forma en que construye el PendingIntent: casi siempre, por ejemplo, el Intento base que proporciona debe tener el nombre del componente establecido explícitamente en uno de sus propios componentes, para asegurarse de que finalmente se envíe allí y en ningún otro lugar.
- Cómo recuperar datos eliminados (especialmente videos) de un teléfono Android, que no está rooteado, sin rootearlo
- ¿Qué teléfono sería actualmente el mejor en términos de ram y velocidad de procesador bajo Rs.9000?
- ¿Qué sucederá si falla mi proceso de rooteo para Android?
- En mi teléfono Android, tengo problemas de autenticación cuando me conecto a mi red, incluso si la intensidad de la señal es excelente. ¿Qué tengo que hacer?
- ¿Puedes restaurar medios (fotos, videos, etc.) en dispositivos Android 6?
Un PendingIntent en sí mismo es simplemente una referencia a un token mantenido por el sistema que describe los datos originales utilizados para recuperarlo. Esto significa que, incluso si el proceso de su aplicación propietaria se anula, el PendingIntent mismo seguirá siendo utilizable desde otros procesos que se le hayan dado. Si la aplicación creadora luego recupera el mismo tipo de PendingIntent (misma operación, misma acción de Intent, datos, categorías y componentes, y los mismos indicadores), recibirá un PendingIntent que representa el mismo token si aún es válido, y puede entonces llame a cancel () para eliminarlo.
Debido a este comportamiento, es importante saber cuándo dos Intentos se consideran iguales para recuperar un PendingIntent. Un error común que cometen las personas es crear múltiples objetos PendingIntent con Intents que solo varían en su contenido “extra”, esperando obtener un PendingIntent diferente cada vez. Esto no pasa. Las partes de la intención que se utilizan para la coincidencia son las mismas definidas por Intent.filterEquals. Si usa dos objetos Intent que son equivalentes según Intent.filterEquals, obtendrá el mismo PendingIntent para ambos.
Hay dos formas típicas de lidiar con esto.
Si realmente necesita varios objetos PendingIntent distintos activos al mismo tiempo (como usar como dos notificaciones que se muestran al mismo tiempo), deberá asegurarse de que haya algo diferente en ellos para asociarlos con diferentes Pendiente Intentos. Estos pueden ser cualquiera de los atributos de Intent considerados por Intent.filterEquals, o diferentes enteros de códigos de solicitud suministrados a getActivity (Context, int, Intent, int), getActivities (Context, int, Intent [], int), getBroadcast (Context, int , Intent, int) o getService (Context, int, Intent, int).
Si solo necesita un PendingIntent activo a la vez para cualquiera de los Intents que usará, entonces puede usar alternativamente las banderas FLAG_CANCEL_CURRENT o FLAG_UPDATE_CURRENT para cancelar o modificar cualquier PendingIntent actual asociado con el Intent que está suministrando.