我必须从加速计、陀螺仪、麦克风和 GPS 等各种传感器获取数据。 传感操作不应是连续的,而应根据各种策略(例如节能)定期安排单个短间隔的采样。每个传感器采样 Action 持续几秒钟,比如 5 秒。 我会为每个传感器实现一个“客户端”,在必要时负责监听传感器数据,以及一个控制客户端执行的“ Controller ”,但我不确定实现这一点的方法。
为每个客户端实现一个服务是否正确?或者简单的 AsyncTask 或 Handler 会更好?
如果每个客户端负责单个感测操作,在单个 onStartService() 中执行,或者 onStartService() 操作启用定期采样操作,效果会更好吗? 如有帮助,我们将不胜感激。
最佳答案
这听起来像是一个服务
的任务,由警报
按(定期)预定的时间间隔触发。
AsyncTask
通常是在用户完成一些交互后启动的,并且系统应该执行“长时间运行”的操作(如网络 I/O),否则可能会阻塞用户界面。
请注意,很可能还触发像 AsyncTask
这样的服务 - 请查看 IntentService
。
关于android - Android 中用于采样传感器的 Service 或 Asynctask?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13110862/