【问题标题】:Android background service in Delphi XE5Delphi XE5中的Android后台服务
【发布时间】:2013-12-26 08:52:24
【问题描述】:

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

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

有什么想法吗?

P.S.:谢谢你的回答。 P.P.S.:对不起我的英语不好。

【问题讨论】:

  • 您为这项工作选择了错误的工具。这绝对是最好的原生开发工具。

标签: android delphi service firemonkey


【解决方案1】:

你不能单独使用 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

【讨论】:

【解决方案2】:

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

来自文档:

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

和

"如果服务已启动并长时间运行,则系统将 随着时间的推移降低其在后台任务列表中的位置,并且 服务将变得非常容易被杀死”

AlarmManager 可能是一个更好的选择,而不是服务。那是一个系统服务,它会在您告知时执行操作,例如定期执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多