我的应用程序的主要目标是,当按下按钮时:
- 从传感器收集数据
- 将数据存储在数据库中
- 定期重复(每 X 秒)
我想在后台完成,如果Main Activity
被破坏,后台进度仍在运行。因此,如果您删除该活动,我希望它仍在运行。
我现在正在做的是AlarmManager
使用Intent Service
, 来设置数据的定期记录,但是每当我销毁Activity
它们时,我的应用程序就会崩溃。
我知道运行后台进程有不同的方法,但没有一个适合我的:
Service
: 依赖于 MainThread,所以如果 MainActivity 被销毁,就会崩溃Intent Service
: 现在使用的那个,但是就它与AlarmManager相关,也就是与MainActivity相关,当它被销毁时,会崩溃。AsyncTask
:这个问题是,它应该在后台执行一项任务并完成,但我真正想要的是定期执行,直到用户说停止。所以这不是一朝一夕的事情。
有没有其他方法可以拥有后台服务?前面所述的任何内容都可以用于我的目的吗?你建议我怎么做?
感谢您的回答。