【问题标题】:How can use resultReceiver without startService?如何在没有 startService 的情况下使用 resultReceiver?
【发布时间】:2019-10-04 18:24:08
【问题描述】:

我的意图服务需要取得一些进展,但在我的搜索中,我发现resultReceiver 看起来不错且易于实现,但我看到的示例通过接收器抛出意图但无法通过,因为我的意向服务由BroadcastReceiver 激活。所以,当用户进入某个活动时,我会得到intentService 的进度。

Here's one example I seenhere another

【问题讨论】:

    标签: android android-service intentservice android-service-binding


    【解决方案1】:

    如果您已经启动了 IntentService 并且没有通过此调用传递 ResultReceiver,则无法传递它,而 IntentService 将执行您的 onHandleIntent()。在这种情况下,您可以创建自己的服务,该服务将具有类似 onHandleIntent() 的内容,将在 HandlerThread 上执行(IntentService 在引擎盖下做同样的事情)。因此,通过一个简单的服务,您可以在 onStartCommand() 中接收您的 ResultReceiver,并通过在 onHandleIntent() 中检查 ResultReceiver 的实例来对您的 UI 进行回调

    【讨论】:

      猜你喜欢
      • 2021-10-30
      • 2019-11-15
      • 2013-06-30
      • 2015-08-09
      • 2018-08-21
      • 2017-06-11
      • 2017-12-02
      • 2014-06-24
      • 2021-12-14
      相关资源
      最近更新 更多