Delphi XE5中的Android后台服务

6

我需要使用 delphi XE5 (firemonkey) 写一些安卓服务。这个服务需要在后台运行并定期读取短信收件箱,将其写入到 sqllite 数据库中(备份短信)。

我知道如何读取短信并将其写入数据库,但是我不知道如何将应用程序作为服务在后台运行。

有什么好的想法吗?

P.S.:感谢您的回答。 P.P.S.:对不起,我的英语不太好。


1
你选择了错误的工具来完成这项工作。最好使用本地开发工具来完成。 - David Heffernan
2个回答

4

还有第三部分,包含后续版本的更新-http://blog.blong.com/2015/02/delphi-and-android-services-part-3.html-当然,Delphi 10 Seattle现在已经原生支持Android服务。 - blong

0

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

根据文档:

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

以及

"如果服务已启动且长时间运行,则系统将逐渐降低其在后台任务列表中的位置,服务将变得高度容易受到终止"

AlarmManager可能是更好的选择而不是服务。这是一个系统服务,可以在您告诉它何时执行操作(例如定期执行)时执行操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接