在Android中:如何从服务调用活动的功能?

我有一个活动(A)并获得由开始这样的服务(S):在Android中:如何从服务调用活动的功能?

Intent i = new Intent(); 

i.putExtra("updateInterval", 10);

i.setClassName("com.blah", "com.blah.S");

startService(i);

一个有这样一个在一个函数:

public void someInfoArrived(Info i){...} 

现在我想从S.内呼叫A.someInfoArrived(i)Intent.putExtra没有我可以传递对象引用等的版本... 请帮忙!

PS:反过来(对新信息投票S)不是我所需要的。我发现有关如何做到这一点的足够信息。

回答:

一种选择是从startService()切换到bindService()并使用本地绑定模式。然后,你需要在某个时刻在S上有一个A方法来注册一个监听器或回调方法。然后,当有些信息到达时,S会给A打电话。你可以看到here的示例项目。

或者,您可以将startService()保留原位并使用广播Intent让S告知A有关某些信息的抵达。你可以看到一个示范项目演示这样的广播Intenthere。

以上是 在Android中:如何从服务调用活动的功能? 的全部内容, 来源链接: utcz.com/qa/265464.html

回到顶部