Android Service定时执行工作

时间:2019-06-21 11:46:33

标签: android android-service android-camera2

我正在尝试创建一个可在后台每隔X秒运行一次的Android服务。

  • 它需要一直运行直到被用户停止,所以我想它必须是带有通知的前台服务,这样它才不会被杀死
  • 用户需要能够停止和启动服务,并且只能同时运行一个服务
  • 该服务应该每隔X秒钟工作一次(具体是调用Camera2 API,进行一些网络上传等),否则将保持空闲状态。
  • 如果可能(不是必需的),即使UI由于某种原因崩溃了,服务也可以继续独立运行吗?

我应该使用Service,IntentService,Bound服务还是其他东西?计时器类可以与此配合吗?

至于“定期工作”,我考虑只是在服务启动时创建一个新线程,并使它在两次请求之间休眠。但是我认为这是不好的做法,并且会产生大量的维护开销和手动状态跟踪。另外,它需要调用的Android API必须在主线程上运行才能起作用,这样就不能直接起作用。

0 个答案:

没有答案