繁体   English   中英

如何从Android中的服务调用一个活动的方法?

[英]How to Call Method of one activity from service in Android?

我有一个活动'A',它扩展了调用服务'B'的mapActivity,以及扩展服务的服务'B'。 我正在服务'B'获得纬度和经度。 现在我需要调用Activity'A'中的方法,并在位置更新后立即传递纬度和经度。 在该方法中,我有代码来显示位置。 提前致谢..

如何从Android中的服务调用一个活动的方法?

你没有。

或者:

  • 这不应该是Service (具有活动中的所有逻辑),或者
  • 使用LocalBroadcastManager从服务向活动发送消息,或
  • 使用Messenger将服务中的消息发送到活动,或
  • 使用createPendingResult()在活动上创建的PendingIntent将消息从服​​务发送到活动,或者
  • 使用ResultReceiver或Otto库或其他各种方法将消息从服​​务发送到活动

除非你设置了一个STATIC引用,否则你无法从服务中获得你的Activity的引用 - 这是非常不推荐的,并且被认为是内存泄漏问题的罪魁祸首。

相反,我建议你使用context.sendBroadcastBroadcastReceiver来使用android的广播机制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM