Intent是一个意图,一个描述了想要启动一个Activity、Broadcast或是Service的意图。它主要持有的信息是它想要启动的组件(Activity、Broadcast或是Service)。
PendingIntent 可以看作是对Intent的包装。供当前App之外的其他App调用。有点“被动”或是“Callback”的意思,但不是严格意义上的“被动”或是“Callback”。总之,当前App不能用它马上启动它所包裹的Intent。而是在外部App执行这个
PendingIntent 时,间接地、实际地调用里面的Intent。
PendingIntent 主要持有的信息是它所包装的Intent和当前App的Context。正由于
PendingIntent 中保存有当前App的Context,使它赋予外部App一种能力,使得外部App可以如同当前App一样的执行
PendingIntent 里的Intent,就算在执行时当前App已经不存在了,也能通过存在
PendingIntent 里的Context照样执行Intent