8

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

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

说位置服务有 Methode

SendLocation()
{
/// to do 
}

现在在活动 A 中:

Service s = getCurrentRunningServiceInstance // 类似这样

并调用它的方法

s.SendLocation();
4

2 回答 2

4

您不能Service直接在 a 上调​​用方法。您需要做的是bindService.

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

请参阅服务文档,特别是有关创建绑定服务的文档以及绑定服务的文档。

于 2012-07-03T06:46:16.487 回答
1

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

1)在Activity中创建一个BroadcastReciever。

2)从服务位置改变时,发送带有位置附加信息的广播意图,

3)在Activity中从Receiver监听它并相应地更新activiy。

于 2012-07-03T06:43:47.490 回答