服务如何与其活动进行通信?服务如何调用Activity中的方法,该方法启动了该服务?

时间:2010-02-17 13:12:00

标签: java android service android-activity

假设我有一个列表的活动。它在此活动开始时调用服务。该服务将执行后台操作 - 下载,解析和填写列表。

我的问题是:服务如何与活动进行通信? 如何在服务中调用Activity中的方法? (我是OOP的新手)

服务启动如下:

hello_service = new Intent(this, HelloService.class);
startService(hello_service);

我的服务之一就是下载和解析XML。在那之后,它需要填写一个列表!所以,我想将解析后的东西传回给Activity,并在Activity中调用一个方法来填充该列表。

2 个答案:

答案 0 :(得分:1)

我最近问了一个非常相似的问题,best way for service that starts activity to communicate with it,得到了一个非常有用的答案。

此外,如果在关闭活动时服务不需要处于活动状态,请考虑使用AsyncTask而不是服务。然后你不需要打扰服务器/活动通信。

答案 1 :(得分:0)

您可以将活动对象设置为服务,并从服务中调用您的活动方法。但是,在更新UI时,您必须关心线程安全。

希望这有帮助! Tutorial

相关问题