如何通过 BroadcastReceiver 从给定的 IntentSender 获取结果

问题描述

我知道如何执行以下操作

  • 通过 PendingIntent 获取 BroadcastReceiver 的结果(例如启动选择器并在用户做出选择后获取结果)
  • 通过调用 IntentSender
  • 通过 Activity 的 onActivityResult 获取 startIntentSenderForResult 的结果

但是,我需要做的是启动 IntentSender 但通过 BroadcastReceiver 返回结果。请注意,IntentSender 是给我的,因此我无法访问与 PendingIntent 对应的原始 IntentSender

有没有办法做到这一点,也许是通过将额外的意图捆绑到 intentSender.sendIntent()

我还阅读了 this question 并验证了 onFinished 中的 sendIntent() 回调会立即触发并且实际上并未返回正在启动的意图的结果。

上下文 我正在使用 Android 的 CompanionDeviceManager 进行 companion device pairing。当它找到一个设备时,它会给我 IntentSender chooserLauncher。它期望活动使用 startIntentSenderForResult() 调用 chooserLauncher 并从活动中获取结果。但是,这对我不起作用,因为我正在开发一个库,我不希望将结果传递给活动,而是传递给我拥有的 BroadcastReceiver

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)