0

我正在尝试开发一个由 Activity 和 Service 组成的 Android 应用程序。Activity 在 Service 上启动一个无限期的进程,该进程将从 Activity 中关闭。不使用 then 子类 IntentService,而是直接使用 Service。由 onStartCommand 和 OnDestroy 控制。

我显然需要将信息从 Activity 传递给 Service:Service 的状态和一些字符串。

我尝试使用 LocalBrodcastManager,但是当转动设备或活动进入 onPause 状态时,消息将丢失。我试图遵循几个例子,但收效甚微。特别是我无法完成它,因为缺少一些信息,显然被认为是显而易见的,但对我来说并不明显:https ://developer.android.com/training/run-background-service/report-status.html

然后我尝试通过 IBinder 使用 Messenger(示例:使用消息传递在 Activity 和服务之间进行通信),但程序似乎有点复杂,我无法满足我的需求。

我需要的是从我的活动中启动服务(可能自动绑定?,如果使用 Messenger),服务应该发出活动信号,然后服务通过 GPS LocationListener 记录一些点,将其写入文件并应该再次指出活动,正在记录的数据,文件大小等。

你推荐使用什么来传递这些信息,你能给我一些例子吗?

4

1 回答 1

1

实际上,我正在编写一个教程,解释和比较 Android 中 IPC 的许多不同方法,但由于它还没有准备好,而且因为你需要一个简单的修复,我会推荐https://github.com/greenrobot/EventBus

也可以随意查看我和我的朋友们在这里做了一段时间的旧但仍然相关的例子:https ://github.com/RanNachmany/AndconLab

祝你好运。

于 2015-04-07T14:51:13.973 回答