我正在开发一个应用程序,通过执行php文件连接并修改数据库中的数据。
如果我需要更改数据库或php文件,这可能会导致应用程序的旧版本出现意外行为并崩溃。出于这个原因,我希望在进行此类更改时强制用户 更新应用。
现在,我有一个连接到数据库的方法,并将应用程序版本与数据库版本进行比较。这很好但我每次访问数据库时都会调用它(经常),这会大大减慢应用程序的使用速度。有一个更好的方法吗?我已经读过,我可以使用AlarmManager
或BroadcastReceiver
每X小时检查一次更新。但是,如果用户关闭并且几天没有使用该应用程序,该怎么办?这些计时器会在用户启动应用程序后立即调用,从而能够强制更新吗?
答案 0 :(得分:2)
Android AlarmManager是一个API,可让您与Android Alarm Service进行通信和编程警报。可以认为它类似于Linux Cron作业。一旦闹钟被编程,即使你的应用程序没有运行,它也会被触发,因为闹钟服务而不是你的应用程序触发了闹钟。例如,您唯一需要做的就是对闹钟进行编程。重要的是要注意,当您重新启动设备时,您的警报会被清除,因此您需要在每次重启时重新编程。您可以通过捕获BOOT_COMPLETED广播来完成此操作,这样您就可以在每次设备启动时重新编程警报。查看Android AlarmManager的定义。执行所需操作的常见模式是编程发送广播或启动服务的警报,然后在该服务中您可以查询服务器。您需要考虑当设备处于休眠状态时,警报无法发送,因此您需要使用wakelocks。本课程将为您提供帮助check it out。