android studio 使用报警管理器调用函数
android studio call a functoin with alarm manager
我正在用 kotlin 制作一个应用程序,每天使用警报管理器查询一次 API。
现在我想到了一个问题:执行报警管理器时没有网络怎么办?
我最好的办法是查询 API,如果没有响应,我会在半小时后设置另一个警报管理器。
问题是警报管理器需要一个未决的意图,我不知道如何用一个未决的意图调用 activity 中的另一个函数。
我可以用另一个意图调用同一个 activity,但我担心如果连续多次没有互联网连接,就会发生一些不好的事情,因为会有很多意图。
所以我的问题是坏事是否真的会因为所有意图而发生
或者也许你有比我更好的解决方案...
为此,您应该使用 WorkManager
。它旨在支持这些类型的任务。您可以安排定期执行并告诉 WorkManager
您的任务需要 Internet 连接。 WorkManager
确保任务仅在有连接时运行。使用 WorkManager
安排的任务会在设备重启后保留,因此您不必担心在设备重启后重新安排它们。
见https://developer.android.com/topic/libraries/architecture/workmanager
我正在用 kotlin 制作一个应用程序,每天使用警报管理器查询一次 API。
现在我想到了一个问题:执行报警管理器时没有网络怎么办?
我最好的办法是查询 API,如果没有响应,我会在半小时后设置另一个警报管理器。
问题是警报管理器需要一个未决的意图,我不知道如何用一个未决的意图调用 activity 中的另一个函数。
我可以用另一个意图调用同一个 activity,但我担心如果连续多次没有互联网连接,就会发生一些不好的事情,因为会有很多意图。
所以我的问题是坏事是否真的会因为所有意图而发生
或者也许你有比我更好的解决方案...
为此,您应该使用 WorkManager
。它旨在支持这些类型的任务。您可以安排定期执行并告诉 WorkManager
您的任务需要 Internet 连接。 WorkManager
确保任务仅在有连接时运行。使用 WorkManager
安排的任务会在设备重启后保留,因此您不必担心在设备重启后重新安排它们。
见https://developer.android.com/topic/libraries/architecture/workmanager