4

在我的 Android 应用程序中,一个服务在后台运行,它将GPS 读数记录到数据库中。用户会看到一个向他们展示单选按钮的 Activity 。我还想将他们当前选择的单选按钮记录到数据库中。

如何从服务访问单选按钮对象?

4

1 回答 1

3

一种简单的方法(假设您的服务与活动在同一进程中运行)是使用共享首选项文件。活动可以在单选按钮更改时写入首选项文件,并且服务可以在首选项上注册侦听器或在写入数据库时​​检查状态。

避免首选项的更复杂的方法是使用 Context.startService() 启动服务(这样即使 Activity 不在身边,它也会保持运行),然后让 Activity 调用 Context.bindService() (启动服务(如果它没有运行)返回一个它可以与之通信的 IBinder 存根。对于这种方法,我建议您查看Service API Demos

于 2009-03-19T17:33:27.550 回答