android - Android 中用于采样传感器的 Service 或 Asynctask?

标签 android android-service android-sensors

我必须从加速计、陀螺仪、麦克风和 GPS 等各种传感器获取数据。 传感操作不应是连续的,而应根据各种策略(例如节能)定期安排单个短间隔的采样。每个传感器采样 Action 持续几秒钟,比如 5 秒。 我会为每个传感器实现一个“客户端”,在必要时负责监听传感器数据,以及一个控制客户端执行的“ Controller ”,但我不确定实现这一点的方法。

为每个客户端实现一个服务是否正确?或者简单的 AsyncTask 或 Handler 会更好?

如果每个客户端负责单个感测操作,在单个 onStartService() 中执行,或者 onStartService() 操作启用定期采样操作,效果会更好吗? 如有帮助,我们将不胜感激。

最佳答案

这听起来像是一个服务的任务,由警报按(定期)预定的时间间隔触发。

AsyncTask 通常是在用户完成一些交互后启动的,并且系统应该执行“长时间运行”的操作(如网络 I/O),否则可能会阻塞用户界面。

请注意,很可能还触发像 AsyncTask 这样的服务 - 请查看 IntentService

关于android - Android 中用于采样传感器的 Service 或 Asynctask?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13110862/

相关文章:

Android - 如何更改 ScrollView/ListView Overscroll 的颜色?(参见描述示例)

java - 如何确保我的 Android 应用程序不会同时访问文件?

Android-检测手机何时翻转

android - 如何以编程方式在 Android 设备中设置模拟传感器(加速度计)

java - 在非 Activity java 类中使用 Android 的 Fused Location 提供程序,并在主 Activity 类中获取经度和纬度

java - 按钮不打开新 Activity

android - 按下工具栏上的后退按钮

android - 从 WallpaperService 启动 Intent 或向 WallpaperService 启动 Intent

android - 如何通过主 Activity 了解 session 中媒体播放器的状态

java - 可以从具有多个功能的 EventListener 中只实现一个功能吗?