我需要你的想法。我正在寻找的是在后台运行的任务或服务(没有用户界面),能够满足以下要求:
换句话说: 用户不会触发处理,用户只负责输入。然后AlarmManager定期触发处理。
Android服务类是否适合这种情况,还是有更好的方法?
如果是,我在理解服务类时遇到问题。根据文档,它没有自己的进程,而是在宿主进程中运行。这会导致问题吗?所以有时候,phonegap插件(传递数据)是主机进程,有时警报代码是主机进程,或者我错了?我的意思是该服务没有主要应用程序,而是可以从不同位置调用的独立内容。
由于
谢谢
答案 0 :(得分:2)
这里的服务是合适的。
您可以安排AlarmManager定期调用您的服务,并让您的UI活动向其推送数据,并可选择唤醒服务以处理数据。
服务在主机进程中运行,并且将在UI线程中运行,除非您创建另一个线程。 IntentService课程可以帮助您解决这个问题。 它允许您解雇由工作线程中的服务处理的意图。
意图在IntentService类中排队,并由IntentService管理的单个工作线程依次处理。
在您的情况下,您可以让AlarmManager触发将由您的服务在工作线程中处理的Intent。
答案 1 :(得分:2)
请注意,一旦手机重新启动,AlarmManager
会丢失所有设置的闹钟,再次初始化闹钟通常会创建一个派生自BroadcastReceiver的OnBootReceiver,以便在手机重启时收到通知。那么你将不得不再次设置警报。