pendingintent

  • 格式:docx
  • 大小:15.69 KB
  • 文档页数:1

PendingIntent这个类用于处理即将发生的事情。

比如在通知Notification中用于跳转页面,但不是马上跳转。

Intent 是及时启动,intent 随所在的activity 消失而消失。

PendingIntent 可以看作是对intent的包装,通常通过getActivity,getBroadcast ,getService来得到pendingintent的实例,当前activity并不能马上启动它所包含的intent,而是在外部执行pendingintent时,调用intent的。

正由于pendingintent中保存有当前App的Context,使它赋予外部App一种能力,使得外部App可以如同当前App一样的执行pendingintent里的Intent,就算在执行时当前App已经不存在了,也能通过存在pendingintent里的Context照样执行Intent。

另外还可以处理intent执行后的操作。

常和alermanger 和notificationmanager 一起使用。

Intent一般是用作Activity、Sercvice、BroadcastReceiver之间传递数据,而Pendingintent,一般用在Notification上,可以理解为延迟执行的intent,PendingIntent是对Intent一个包装。

PendingIntent就是一个Intent的描述,我们可以把这个描述交给别的程序,别的程序根据这个描述在后面的别的时间做你安排做的事情
有三个静态方法可以获得PendingIntent实例:
∙public static PendingIntent getBroadcast(Context context, int requestCode, Intent intent, int flags)
∙public static PendingIntent getActivity(Context context, int requestCode, Intent intent, int flags)
∙public static PendingIntent getService(Context context, int requestCode, Intent intent, int flags)。