gpt4 book ai didi

Android 离线可靠日期持续时间

转载 作者:行者123 更新时间:2023-11-29 19:35:04 25 4
gpt4 key购买 nike

我想设计一种离线支付方式,用户只能在支付期间使用该应用。我希望付款持续时间可靠,即使用户更改了他们的手机时间/日期。

我尝试使用 AlarmManager 定期更新剩余付款计数器。但是当用户将日期设置为过去时这不起作用,我试过听 DATE_CHANGE 广播。但是,当日期设置为过去时,也不会广播。

我想知道实现此类功能的正确方法是什么。非常感谢任何建议。

编辑1

该应用专为没有可靠互联网的地方设计。所以大多数时候,该应用程序是离线使用的。所以,我不能假设会有互联网连接来检查正确的时间。

编辑2

time date set broadcast not firing in the past

ASOP issue

最佳答案

如果没有 Internet 访问,则没有明确的方法可以解决您的问题。您唯一可以做的就是监控您有权访问的所有时间源并比较它们以检测操纵(定期检查并记录数据)。

这不会导致在许可证过期后无法使用该应用程序,但会变得更加困难。

第一时间来源:设备时钟

您可以定期监控它,例如在服务中使用 CountDownTimer。在您的应用中记录 UTC 时间(不带时区),并确保它只增加而不会减少。

第二时间来源:GPS

参见 Sync Android devices via GPS time?

第三时间来源:蜂窝网络

据我所知,至少一些手机网络有内部时间。不确定如何以及是否可以在 Android 上访问它。

第四次来源:网络

如果您检测到 Activity 的 Internet 连接,则从受信任的时间源获取时间。

关于Android 离线可靠日期持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39308864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com