什么是Intent
Intent 在组件间被用于进行信息传递(例如 Activitiy, Service, Broadcast Receiver, Content Provider),从而调用不同的组件以完成我想要完成的事。而这里提到的信息是什么呢:是你想要做的事。举例来说吧:
我想要在KFC点一份外卖,那么当这份信息被发送出去以后,KFC以外的外卖店都不会理我,只有KFC会接受这份信息,并且处理它,最后给我送来我要的外卖。
但如果我发出的信息是:我想要一份外卖,那么这就说明我没有指定是谁送给我(这里默认为谁先处理就谁先获得),所以最先处理了我的需求的外卖店会送来外卖,而外卖是什么并不重要;但例子中我指明了:我要KFC的外卖。所以在例子中我们又可以了解到另一个有关Intent的知识:Intent有准确和不准确之分(explicit/implicit)。
而我们接下来要提到的 PendingIntent 就是 implicit Intent 的一种。
什么是PendingIntent
PendingIntent 是在未来被使用的 Intent,这样说感觉很难懂,举个例子吧:
我想在下班以后立刻去健身。那么在健身之前的这段时间里,我都得乖乖呆在办公室里码代码、看动漫、看博客等等……反正我必须等到下班以后,才能去健身。但是在下班以前,我又必须记得我下班以后要去健身。
而在 Android 中,使用 PendingIntent 能够让你允许其他应用能够使用你开发的应用中的权限,