Qt for Android(22) —— Android 设置时区和Ntp对时

本文介绍了在QT for Android环境中如何设置时区和使用Ntp进行时间同步,以实现多设备同步播放。通过设置Android系统的时区并使用NTPUDPClient获取服务器时间,进行毫秒级误差的弥补方案,确保时间精准到毫秒。文中还讨论了在不同Android版本下的权限和兼容性问题,以及解决误差和定时器挂起的策略。
摘要由CSDN通过智能技术生成
背景

  我们的产品有个功能是同步播放,即要求多台设备在相同的时刻播放相同的内容,考虑到应用场景和精准度,我们需要实现QT for Android的局域网Ntp同步。

设置时区与时间

windows是可以搭建简单的Ntp服务器的,详见:https://blog.csdn.net/JoshYueby/article/details/88804362

假设我们windows电脑的IP地址是:192.168.1.100,则我们的Ntp服务器地址便是192.168.1.100,端口默认123。

首先看下Android设置时区的函数:

public void setZone(String zone) {
        Log.d("NtpUtil","setZone:" + zone);
    if(mAlarmManager == null){
        mAlarmManager= (AlarmManager)m_context.getSystemService(android.content.Context.ALARM_SERVICE);
    }
        mAlarmManager.setTimeZone(zone);
    }
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

q2nAmor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值