Delphi XE5中的Android后台服务

时间:2013-12-09 09:35:40

标签: android delphi service firemonkey

我需要使用 delphi XE5(firemonkey)为android编写一些服务。该服务需要在backgroung中运行并定期读取短信收件箱,将其写入sqllite DB(短信备份)。

我知道如何阅读短信以及如何将其写入数据库,但我不知道如何让应用在后台作为服务工作。

有什么想法吗?

P.S。:谢谢你的回答。 P.P.S。:抱歉我的英语不好。

2 个答案:

答案 0 :(得分:4)

你不能单独使用XE5,但你可以在Java的帮助下完成。

Brian Long发表了关于这个主题的两个部分:

http://blog.blong.com/2013/11/delphi-and-android-services.html

http://blog.blong.com/2013/11/delphi-and-android-services-part-2.html

答案 1 :(得分:0)

Android services与Windows服务不同。如果您使用Android服务,它仍会在您的应用程序的主要线程中运行。它们在设备进入睡眠模式时停止。此外,系统可以在低内存和其他情况下终止服务。

来自文档:

  

通常,已启动的服务执行单个操作但不执行   将结果返回给调用者。例如,它可能下载或   通过网络上传文件。当操作完成后,   服务应该停止。

  

"如果服务已启动且长时间运行,则系统将执行   随着时间的推移降低其在后台任务列表中的位置   服务将极易被杀害"

AlarmManager可能是更好的选择,而不是服务。这是一个系统服务,它将在您定期执行操作时执行操作。