访问运行服务并调用其方法?

时间:2012-07-03 06:38:21

标签: android background-service

我已经创建了一个现在在后台发送位置的服务

  

我想在 ACTIVITY 中创建一个方法,它将访问   当前正在运行服务实例并将调用其方法

说具有Methode的位置服务

SendLocation()
{
/// to do 
}

现在进入活动A:

  

服务s = getCurrentRunningServiceInstance //类似这样

并调用其方法

s.SendLocation();

2 个答案:

答案 0 :(得分:4)

您无法直接在Service上调用方法。您需要做的是bindService

Service中,覆盖onBind()并让它返回有效的IBinder,然后以客户端/服务器方式使用它。

请参阅Services的文档,特别是有关Creating a Bound Service的文档以及Bound Services的文档。

答案 1 :(得分:1)

建议不要使用方法调用服务,而是按照以下步骤进行操作

1)在Activity中创建一个BroadcastReciever。

2)当位置发生变化时从服务中发送具有位置附加功能的广播意图,

3)从活动中的Receiver中收听并相应地更新活动。