Android 后台服务最佳实践
Android background services best practise
我正在为一个利用 ActivityRecognition
API 和 GPS 的小型研究项目开发应用程序。我想要实现的是将 APIs 运行ning 作为后台进程,并定期将当前数据记录在日志文件中。然后可以在收集数据后手动分析此日志文件。
我的问题是了解执行此操作的最佳方法。我最初是从 ActivityRecognition sample app 开发的。我的流程如下:
- 当点击 MainActivity 中的按钮时,通过 requestLocationUpdated 创建位置侦听器。同时在 MainAcitivity 中创建 ActivityRecogition 侦听器。
- 触发位置更新事件时,通过广播发送数据。
- 如果 MainActivity 是 运行ning,通过 broadcastReciever 收听广播,更新 gui,将最后更新存储在 class 范围变量(在 MainActivity 中)
- 当 ActivityRecognition 获得更新时,将数据与存储在 MainActivity 中 class 范围变量中的 GPS 数据一起记录在文件中。
这方面的明显问题是,虽然定位服务在后台运行,即使 MainActivity 已暂停,但 ActivityRecognition 和文件记录器都不会 运行 作为服务在后台运行,因此要求 MainActivity 为 运行ning.
为一个目的处理多个后台进程的最佳做法是什么?要创建后台服务来处理这两者?然后 运行 在应用 onCreate/button 上点击这个?然后通过广播消息将数据发送到 MainActivity(如果它在那里监听)?
Kirgy.. 将服务用于 gps 任务和 activityRecognition 使用接收器和每次 activityRecognition 发生时触发广播的意图
我正在为一个利用 ActivityRecognition
API 和 GPS 的小型研究项目开发应用程序。我想要实现的是将 APIs 运行ning 作为后台进程,并定期将当前数据记录在日志文件中。然后可以在收集数据后手动分析此日志文件。
我的问题是了解执行此操作的最佳方法。我最初是从 ActivityRecognition sample app 开发的。我的流程如下:
- 当点击 MainActivity 中的按钮时,通过 requestLocationUpdated 创建位置侦听器。同时在 MainAcitivity 中创建 ActivityRecogition 侦听器。
- 触发位置更新事件时,通过广播发送数据。
- 如果 MainActivity 是 运行ning,通过 broadcastReciever 收听广播,更新 gui,将最后更新存储在 class 范围变量(在 MainActivity 中)
- 当 ActivityRecognition 获得更新时,将数据与存储在 MainActivity 中 class 范围变量中的 GPS 数据一起记录在文件中。
这方面的明显问题是,虽然定位服务在后台运行,即使 MainActivity 已暂停,但 ActivityRecognition 和文件记录器都不会 运行 作为服务在后台运行,因此要求 MainActivity 为 运行ning.
为一个目的处理多个后台进程的最佳做法是什么?要创建后台服务来处理这两者?然后 运行 在应用 onCreate/button 上点击这个?然后通过广播消息将数据发送到 MainActivity(如果它在那里监听)?
Kirgy.. 将服务用于 gps 任务和 activityRecognition 使用接收器和每次 activityRecognition 发生时触发广播的意图