0
我想创建一个Android应用程序,它下面的一个任务可配置的Android应用程序:建议的执行频繁
- 在安装它为用户提供了其中,他们被允许进入他们的Gmail ID的UI /密码和推特ID /密码。
- 然后用户点击一个按钮,该按钮启动一个在后台运行的服务来检查他的gmail帐户是否有新的邮件到达。即使将UI(活动)从前台移除后,此服务也应该保持永久运行。
- 如果到达的电子邮件是以指定的格式,它开始从他的Twitter帐户推文。
- 推文基于邮件的内容,可能很多。这些推文是在一定的时间间隔后进行的,比如说3分钟。因此,推文任务可能需要几小时才能完成(电话休眠/重启之间)
- 服务/后台任务必须是可停止的,并在用户决定更改他的gmail/twitter凭证时再次恢复。
我已经实现了为新邮件到达检查gmail收件箱的服务(意图服务更一般)。但一些它是如何在一段时间后重新启动手机而死亡的。我只想要这项服务:
要在手机重新启动和长时间间隔后继续运行。总之,永远。
在发生电话重启的情况下继续发送任务。
所以我的问题是:
- 如何创建这样永远运行服务?我搜索了其他类似的问题,并找到了两个解决方案 - AlarmManager和TimerTask。我不知道AlarmManager是否会一直重复启动服务,以防止它被杀死。我尝试了TimerTask,但是一旦手机重新启动,它就不会恢复。也许我可以订购我的服务到一个系统服务,它会在电话重启时自动恢复。
- 如果手机重新启动,为推特创建的线程不能停止。
- 如果用户从UI中更改该服务,该服务必须允许自己停止并用新凭据继续。
另外我想知道IntentService是否适合我的情况,或者一个简单的Service就足够了? 我对Android开发相对较新,希望更有经验的人分享他们对我的需求的看法。