在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有关某些信息的抵达。你可以看到一个示范项目演示这样的广播Intent
here。
以上是 在Android中:如何从服务调用活动的功能? 的全部内容, 来源链接: utcz.com/qa/265464.html