【发布时间】:2021-04-16 17:04:32
【问题描述】:
我知道如何做以下事情
- 通过
BroadcastReceiver获取PendingIntent的结果(例如,启动选择器并在用户做出选择后获取结果) - 通过调用
startIntentSenderForResult,通过活动的onActivityResult获取IntentSender的结果
但是,我需要做的是启动IntentSender,但通过BroadcastReceiver 获取结果。注意IntentSender是给我的,所以我无法访问与IntentSender对应的原始PendingIntent。
有没有办法做到这一点,也许通过将额外的意图捆绑到intentSender.sendIntent()?
我还阅读了this question 并验证了sendIntent() 中的onFinished 回调会立即触发并且实际上并未返回正在启动的意图的结果。
上下文
我正在使用 Android 的 CompanionDeviceManager 做 companion device pairing。当它找到一个设备时,它会给我IntentSender chooserLauncher。它期望一个活动用chooserLauncher 调用startIntentSenderForResult() 并从活动中获取结果。但是,这对我不起作用,因为我正在开发一个库,我不希望将结果传递给活动,而是传递给我拥有的 BroadcastReceiver。
【问题讨论】:
标签: android android-intent android-pendingintent