Android 挂起的意图中的所有标志是什么
我知道未决意图的概念,但这些标志令人困惑 即使是android文档也很难理解Android 挂起的意图中的所有标志是什么,android,android-pendingintent,Android,Android Pendingintent,我知道未决意图的概念,但这些标志令人困惑 即使是android文档也很难理解 有人能举例说明未决意图标志,特别是FLAG_ONE_SHOT和FLAG_NO_CREATE。pendingent由Android框架管理。调用其中一个pendingent.getXXX()方法时,框架会尝试查找与传递给getXXX()方法的参数匹配的现有pendingent。如果它找到一个匹配的pendingent,它将把它返回给调用者。如果它没有找到匹配的pendingent,它将(通常)创建一个新的pendinge
有人能举例说明未决意图标志,特别是
FLAG_ONE_SHOT
和FLAG_NO_CREATE
。pendingent
由Android框架管理。调用其中一个pendingent.getXXX()
方法时,框架会尝试查找与传递给getXXX()方法的参数匹配的现有pendingent
。如果它找到一个匹配的pendingent
,它将把它返回给调用者。如果它没有找到匹配的pendingent
,它将(通常)创建一个新的pendingent
,并将其返回给调用者。您可以使用以下标志更改此标准行为:
FLAG\u NO\u CREATE
用于获取现有的pendingent
。如果存在匹配的pendingent
,它将返回给调用者。如果不存在匹配的pendingent
,则不会发生任何事情。框架将不会创建新的pendingent
,该方法将null
返回给调用方。您可以使用此方法确定是否存在特定的pendingent
。您还可以使用此方法获取现有的pendingent
,以便取消它
FLAG\u ONE\u SHOT
很奇怪。根据文档,此标志应导致pendingent
在使用(发送)后被删除。然而,这个标志还有其他副作用。例如,如果您使用此标志创建一个pendingent
,然后尝试通过调用pendingent.getXXX()
(使用标志\u NO\u create
)来获取此pendingent
(或测试它的存在),框架将始终返回null
。因此,我从不使用它,我也建议永远不要使用它
FLAG\u CANCEL\u CURRENT
用于删除现有的pendingent
并创建一个新的。框架首先尝试查找匹配的pendingent
。如果找到一个,它将取消(删除)此pendingent
。这意味着任何持有此pendingent
的应用程序将无法触发(发送)它。然后,框架使用提供的参数创建一个新的pendingent
,并将其返回给调用者
FLAG\u UPDATE\u CURRENT
用于更新现有的pendingent
。框架首先尝试查找匹配的pendingent
。如果找到一个,现有的pendingent
中的“extras”将被提供的Intent
参数中的“extras”覆盖。如果未找到匹配的pendingent
,将使用提供的参数创建一个新的。找到的(或新创建的)挂起内容将返回给调用者
注意:有关Android框架如何尝试查找“匹配”PendingEvent的信息,请参见此答案:此答案没有帮助。我只想在后台运行每个Flag的示例和解释?我不明白你的意思<代码>挂起内容
s不“运行”。他们被派去了。根据由挂起内容
包装的意图
,这可能导致启动活动
,或广播接收器
,或服务
。请解释您的要求。在这句话中,当您调用其中一个pendingent.getXXX()方法时,框架试图找到一个与您传递给getXXX()方法的参数相匹配的现有pendingent,您说它试图找到一个现有的意图
。我的疑问是,是否会在后台运行一个待定的意图?你说的这句话到底是什么意思?我在这里贴了一条评论,你能回答吗?我看到了你的评论,但也不明白。你引用了一段不在问题中的话。很抱歉