如何在Android应用程序中收听传感器

时间:2014-03-11 16:52:38

标签: android android-sensors

我正在尝试构建和Android应用程序(我的第一个Android应用程序,我刚刚开始构建它),它必须像这样工作

  1. 它应该在后台运行。
  2. 它会不断收听传感器(比如说加速度计)并在接收到某些信号时执行某些任务,即使手机被锁定或屏幕变黑也是如此。
  3. 编辑如何确保我的服务不会在后台被杀,如果它们确实被杀死,它们会尽快启动。我读到服务确实被系统杀死以检索内存,但它们是如何重新启动的?为了在重新启动电话时启动服务,有一个配置,相同的配置是否适用于被系统杀死的服务?

1 个答案:

答案 0 :(得分:2)

创建一个实现所需传感器侦听器的Service

Service应该从START_STICKY返回onStartCommand,因此当操作系统因某种原因销毁它时会重新启动。

然后,在您的应用程序中,您可以使用以下方法轻松地从某些Activity启动和停止服务:startServicestopService

如果这些“某些任务”必须并行运行,您可以使用或不使用Executors Java框架来使用Java线程。

如果任务需要 Toast 向用户发送一些消息,则需要使用Handler和自定义Runnable,因为该服务不在UI线程中运行Toast.makeText()确实如此。

<强>参考文献: