如果设备时间与 WhatsApp 等 Android Studio 中的互联网时间不匹配,如何显示错误
Posted
技术标签:
【中文标题】如果设备时间与 WhatsApp 等 Android Studio 中的互联网时间不匹配,如何显示错误【英文标题】:how to show error if on device time does not match with internet time in android studio like WhatsApp 【发布时间】:2020-08-20 11:18:13 【问题描述】:我正在制作一个 android 应用程序,它显示相对于设备时间的上传时间,但如果设备时间和日期设置不正确,那么我不会得到想要的结果。因此,如果设备时间和日期不正确或与互联网时间不匹配,如何显示警告或错误。除非用户设置正确的日期和时间,否则该应用程序将无法运行。
【问题讨论】:
只需获取服务器时间,获取本地时间,丢弃时区或将服务器时间转换为本地时区,然后检查两个时间是否相差不超过例如5 秒(考虑一些延迟/漂移) 【参考方案1】:从上传的 API 中获取一个额外的 UTC DateTimeOffset 参数作为响应,然后将其转换为您的本地时区。
缺点 -
如果设备的时间设置错误,您必须为其创建一个本地化方法,该方法可以将时间戳转换为正确的时间,而不会干扰本地时区。
您可以使用静态 timezoneid 进行转换或通过内部 API 调用获取它,我使用 Xamarin soo 就像 -
var timeZoneId = "Asia/Calcutta"; // use it for worldwide application usage TimeZoneInfo.Local.ToString();
DateTime localizedDateTime = TimeZoneInfo.ConvertTimeFromUtc(incomingDATE.ToUniversalTime(), TimeZoneInfo.FindSystemTimeZoneById(timeZoneId));
Soo 将收到的 UTC DateTimeOffset 转换为本地化时间。
【讨论】:
我使用的是 Firebase Firestore 好吧,那么我们需要考虑其他事情。如果我找到了解决方案,我会告诉你的。 @AnukulNarkhede 是您的客户,仅在 1 个国家/地区(如印度或其全球应用)使用您的应用? 他们将仅在印度使用此应用以上是关于如果设备时间与 WhatsApp 等 Android Studio 中的互联网时间不匹配,如何显示错误的主要内容,如果未能解决你的问题,请参考以下文章
whatsapp 无法连接 无网络 完美解决办法 时间不对 调整时间 正常使用
您好,我正在开发聊天应用程序,需要 WhatsApp 等功能来自定义通知音。我正在使用 FCM 进行通知