小编典典

Android:如何获取当前的前台活动(来自服务)?

all

是否有一种原生的 android 方法可以从服务中获取对当前正在运行的 Activity 的引用?

我有一个在后台运行的服务,我想在事件发生时更新我当前的活动(在服务中)。有没有一种简单的方法可以做到这一点(就像我上面建议的那样)?


阅读 62

收藏
2022-07-12

共1个答案

小编典典

是否有一种原生的 android 方法可以从服务中获取对当前正在运行的 Activity 的引用?

您可能不拥有“当前运行的活动”。

我有一个在后台运行的服务,我想在事件发生时更新我当前的活动(在服务中)。有没有一种简单的方法可以做到这一点(就像我上面建议的那样)?

  1. 向活动发送广播Intent——这是一个演示此模式的示例项目
  2. 让活动提供服务调用的PendingIntent(例如,通过)createPendingResult()
  3. 让活动通过 向服务注册回调或侦听器对象bindService(),并让服务在该回调/侦听器对象上调用事件方法
  4. 向活动发送有序广播Intent,以低优先级作为备份(如果活动不在屏幕上,则BroadcastReceiver引发 a )——这是一篇关于此模式的博客文章Notification
2022-07-12