意图和未决意图之间的确切区别是什么?

可能重复:
什么是待定意图?

我对意图未决意图感到困惑。
任何人都可以解释什么是两者之间的区别? 我search了所以,我发现这个链接,但它不符合我的需要 : https : //stackoverflow.com/questions/5633810/what-is-difference-between-an-intent-and-a-pending意图 。

我知道待定的意图是一个意图,将在稍后开始。 普通意图在传递给startActivity(intent)StartService(intent)

Solutions Collecting From Web of "意图和未决意图之间的确切区别是什么?"

的PendingIntent

用于执行的Intent和目标操作的描述。 这个类的实例是用getActivity(Context,int,Intent,int),getBroadcast(Context,int,Intent,int),getService(Context,int,Intent,int)创build的。 返回的对象可以交给其他应用程序,以便他们可以在以后代表您执行您描述的操作。

通过将PendingIntent提供给另一个应用程序,您授予它执行您所指定的操作的权限,就好像另一个应用程序是您自己的(具有相同的权限和标识)。 因此,您应该小心如何构buildPendingIntent:例如,您提供的基本Intent将显式地将组件名称设置为您自己的组件之一,以确保它最终被发送到那里和其他地方。

PendingIntent本身就是对由系统维护的令牌的简单描述,该令牌用于检索原始数据。 这意味着,即使其拥有的应用程序的进程被终止,PendingIntent本身仍然可以从其他被赋予的进程中使用。 如果稍后创build的应用程序重新获取相同types的PendingIntent(相同的操作,相同的Intent操作,数据,类别和组件,以及相同的标志),则它将接收到表示同一标记的PendingIntent(如果该标识仍然有效)因此调用cancel()将其删除

意图

意图是要执行的操作的抽象描述。 它可以与startActivity一起使用来启动一个Activity,broadcastIntent将其发送给任何感兴趣的BroadcastReceiver组件,并使用startService(Intent)或bindService(Intent,ServiceConnection,int)与后台服务进行通信。

Intent为在不同应用程序中的代码之间执行延迟的运行时绑定提供了一种工具。 其最重要的用途是开展活动,可以把它看作活动之间的胶水。 它基本上是一个被动的数据结构,对被执行的动作进行抽象描述。 意图的主要信息是:

action – 要执行的一般操作,例如ACTION_VIEW,ACTION_EDIT,ACTION_MAIN等。data – 要操作的数据,例如联系人数据库中的人员logging,以Uri表示。