在Android中:如何从服务调用活动函数?

在Android中:如何从服务调用活动函数?,android,service,callback,android-activity,android-intent,Android,Service,Callback,Android Activity,Android Intent,我有一个活动(A)和一个服务(S),它是由这样的一个开始的: Intent i = new Intent(); i.putExtra("updateInterval", 10); i.setClassName("com.blah", "com.blah.S"); startService(i); A在A中具有如下功能: public void someInfoArrived(Info i){...} 现在我想从S内给A.SomeInfoArrized(I)打电话。 Intent.putExt

我有一个活动(A)和一个服务(S),它是由这样的一个开始的:

Intent i = new Intent();
i.putExtra("updateInterval", 10);
i.setClassName("com.blah", "com.blah.S");
startService(i);
A在A中具有如下功能:

public void someInfoArrived(Info i){...}
现在我想从S内给A.SomeInfoArrized(I)打电话。 Intent.putExtra没有可以传递对象引用等的版本。。。 请帮忙


PS:另一方面(新信息的轮询)不是我需要的。我找到了足够的关于如何做到这一点的信息

一个选项是从
startService()
切换到
bindService()
并使用本地绑定模式。然后,您需要在某个点上调用S上的方法来注册侦听器或回调方法。然后,当一些信息到达时,S将有它可以调用的东西。您可以看到一个示例项目


或者,您可以将
startService()
保留在适当的位置,并使用广播
Intent
让我们告诉您一些到达的信息。您可以看到一个示例项目演示了这样一个广播
意图

谢谢,这正是我想要的!我对论坛的希望和信念已经恢复:)刚刚实施了你的第二个建议,效果很好。再次感谢!