是否有可能在后台服务中触发活动的onclick事件?

时间:2015-01-19 08:04:24

标签: android android-activity android-service

例如,我开始了一项活动,活动中有一个按钮

然后我启动后台服务,此服务将检查目标活动是否在前台,然后触发该按钮的click事件。

是否可以这样做?

2 个答案:

答案 0 :(得分:3)

我强烈建议你在这种情况下使用像“otto by square”这样的eventbus概念。 您将订阅活动中的事件,这将保持模块化并允许您执行此功能

答案 1 :(得分:2)

为什么要触发活动的点击事件而不是通知活动有关其结果?尝试使用从服务发送到活动的本地广播。活动注册该广播,并在onReceive的{​​{1}}中触发您的BroadcastReceiver方法或您选择的任何其他方法。接收方在onClick注册,未在onResume注册,以保证活动实际可见。

我不建议直接依赖您的活动,因为如果在任何情况下您的活动没有开始或根本不可见,这可能会导致onPause