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

前端之家收集整理的这篇文章主要介绍了在Android中:如何从服务调用活动的功能?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个活动(A)和一个服务(S)由A启动像这样:
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.someInfoArrived(i)
Intent.putExtra没有我可以传递Object引用等的版本……
请帮忙!

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

解决方法

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

或者,你可以保留startService()并使用广播Intent让S告诉A一些到达的信息.您可以看到展示此类广播Intent here的示例项目.

原文链接:https://www.f2er.com/android/317299.html

猜你在找的Android相关文章