无论应用程序是否正在运行,都可以在Android O上启动服务

时间:2017-11-10 16:31:00

标签: android android-service javabeans accelerometer android-bluetooth

我正在构建一个应用程序,它将通过蓝牙连接到bean设备(提供加速计读数)。无论应用程序是否正在运行,我都必须每20秒读取加速度计读数。同样根据这些读数,我需要将通知发送给用户。我想我有以下选择:

  1. 使用startForegroundService方法的JobScheduler:它是否也处理打盹模式?
  2. 警报管理器
  3. 我应该使用哪些选项每20秒读取一次读数?还有更好的选择吗?

    BeanAPI doc:http://punchthrough.github.io/bean-sdk-android/

1 个答案:

答案 0 :(得分:1)

我认为你最好的选择是AlarmManager。使用背景Service作为前景Service对您的情况来说似乎有些过分。实施AlarmManager定期检查Service是否正在运行或已被杀死,如果是后者则重新启动它。