Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 何时使用IntentSender与PendingEvent?_Android_Android Pendingintent - Fatal编程技术网

Android 何时使用IntentSender与PendingEvent?

Android 何时使用IntentSender与PendingEvent?,android,android-pendingintent,Android,Android Pendingintent,Android文档描述了和类,但不清楚何时或为什么要在pendingent上使用IntentSender——事实上,对这两个类的大部分描述似乎是相同的 pendingent文档: 对意图和目标操作的描述。此类的实例是使用(…)创建的;返回的对象可以交给其他应用程序,以便它们可以在以后代表您执行所描述的操作 IntentSender文档: 对意图和目标操作的描述。返回的对象可以交给其他应用程序,以便它们可以在以后代表您执行所描述的操作 这两个类都是Parcelable,并且这两个类都允许接收方使用

Android文档描述了和类,但不清楚何时或为什么要在
pendingent
上使用
IntentSender
——事实上,对这两个类的大部分描述似乎是相同的

pendingent
文档:

对意图和目标操作的描述。此类的实例是使用(…)创建的;返回的对象可以交给其他应用程序,以便它们可以在以后代表您执行所描述的操作

IntentSender
文档:

对意图和目标操作的描述。返回的对象可以交给其他应用程序,以便它们可以在以后代表您执行所描述的操作

这两个类都是
Parcelable
,并且这两个类都允许接收方使用
send
sendIntent
调用操作(签名几乎相同)


既然您需要一个现有的
pendingent
来创建
IntentSender
,那么在什么情况下,您会希望创建
IntentSender
,而不仅仅是使用您的
pendingent

有非常好的示例和解释

下面是一个简短的总结:

IntentSender

IntentSender是android.content.IntentSender的实例

由于
pendingent
封装了
IntentSender,因此不能直接构造
IntentSender的实例,但可以从
android.app.pendingent
实例中获取
getIntentSender()

悬挂式帐篷

pendingent
是您给外部应用程序(例如
AlarmManager
AppWidgetManager
)的令牌,它允许外部应用程序使用应用程序的权限执行预定义的代码

基本上,接收
pendingent
的外国应用程序不知道由
pendingent
包装的意图内容,但当满足特定条件时,外国应用程序应将意图发送回主应用程序


我注意到的区别是,如果我使用意向书而不是在同一任务中启动活动启动,同时挂起内容创建新任务

e、 g:-假设我有一个包含活动MyActivity的应用程序MyApp,还有另一个应用程序SomeApp,有一个功能,点击按钮MyActivity会在SomeApp的活动上方打开


现在,当我使用IntentSender通过MyActivity时,单击按钮MyActivity将在SomeApp上方启动,单击home按钮后,我检查后台只有一个任务,即SomeApp任务。但是,如果我在PendingEvent中传递MyActivity并单击设备的home按钮,则在后台有两个任务,一个是SomeApp任务,另一个是MyApp任务。因此,当您不想在其他任务中执行操作时,请使用IntentSender。

您是否找到了此问题的答案?我面临着同样的问题,但这个问题的唯一答案并没有给出有意义的解释。你的答案似乎只是文件的某些部分。因此没有多大用处。你能再澄清一点吗?