简洁版本:

问题:我需要几个Android设备才能在同一时间(大约100毫秒内)执行某项操作。例如,我希望所有设备在预先确定的时间点播放某种声音。

问题:我可以使用GPS时间来确保设备时钟同步吗?

较长版本:

几个拥有Android设备的人都在同一室外位置(用于某些特定的体育赛事)。所有设备均应在同一时间发信号通知某些事件。 (什么时间要事先确定,只要在同一时间做,就不重要了)。 FWIW:这些活动将帮助人们同时开始体育活动。

我可以做出以下假设:

可能有或没有小区覆盖。 (它在户外,可能在市区之外)

设备可能已连接或未连接到互联网。 (某些人可能没有数据计划)

设备可以互相通信。如果设备未连接到Internet,则它们将通过wifi连接(尽管wifi可能没有Internet网关)。

设备在室外(而不是建筑物内)。 (很好,这意味着所有设备都可以获取GPS定位)

这些设备在物理上彼此靠近(即300平方米以内)。 (不确定这是否重要)

我无法使用内部时钟来知道何时播放事件:用户可以手动更改时间,即使将设备设置为从蜂窝网络获取时间,该网络也可能无法提供正确的时间。两个设备可能被预订到不同的网络中,因此它们的时间可能无法很好地同步。

在应用启动时,每个设备都可能要求GPS修复并保存GPS时间与其内部时钟之间的时差。现在,主机可以基于该GPS时间宣布事件(通过使用其内部时钟并减去之前保存的偏移量)。

这足够精确和可靠吗?

提前谢谢了,

安德烈亚斯·莱特纳(Andreas Leitner)

您可以从市场market.android.com/details?id=net.sourcewalker.gpstime使用应用GPS Time

好主意啊。 我可以使用这个应用程序尝试一下是否可以正常工作。 最终我想将这个功能内置到我的应用程序中。 我不想让我的用户安装另一个应用程序(即使他们不需要它),甚至是需要root访问权限的问题更大的应用程序。

嗨,我追求同样的事情。 您有能力做到这一点吗?

您可以从onLocationChanged()回调中的currentTimeMillis()和Location.getTime()获得以毫秒为单位的时差。使用requestSingleUpdate()

我只是想补充一点,如果用户建立了数据连接,他们可以使用NTP时间,该时间更加精确,因为GPS内部时钟可能会漂移并且需要花费一些时间进行校正。

编辑:

我想编辑这个答案。在Android操作系统中担任GNSS开发人员后,我意识到许多"主要" Android OEM都将其搞砸了。

通常,NMEA语句在芯片组或GNSS堆栈中生成。有时候时间合适,这取决于实现方式。

还有there秒的问题。 GPS时间不是UTC时间。截至撰写本文时,它领先18秒。

根据文档,Location对象的GPS时间现在也是系统时间

TLDR:使用NTP时间

听起来不错。 我不需要更改系统时间。 如果每个设备(安装了我的应用程序)都计算出该偏移量,因此可以在一个公共参考时间下工作就足够了。

您不能完全依赖GPS时间,因为某些设备存在一个已知问题,即某些设备检索的时间提前一天。在这种情况下,您可能会得到很大的补偿。

http://code.google.com/p/android/issues/detail?id=23937

这里讨论了解决此问题的解决方法:

Android:Samsung Galaxy Tabs和Android 2.2设备显示GPS日期从2012年1月1日起提前1天

UTC不是从GPS派生的,APK会覆盖GPS。 Android设置为忽略GPS时钟。您的getTime()是NIST。不是GPS

如果这应该是原始问题的答案,那么您需要对其进行改进。

gps校正 android,通过GPS时间同步Android设备?相关推荐

  1. gps android时钟同步,通过GPS时间同步Android设备?

    简短版本: 问题:我需要几个Android设备在同一时间(约100毫秒)内执行某些操作.例如,我希望所有设备在以前确定的时间点播放一定的声音. 问题:我可以使用GPS时间来确保设备时钟的同步吗? 更长 ...

  2. 时间服务器中,适用于国内的 NTP 服务器地址,可用于时间同步或 Android 加速 GPS 定位

    NTP 是什么?   NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备[如计算机.手机]的时间的协议. NTP 实现什么目的?   目的很简单,就是为了提供准确 ...

  3. 时间同步:适用于国内的 NTP 服务器地址,可用于时间同步或 Android 加速 GPS 定位

    转载自:http://blog.csdn.net/maxsky/article/details/53866475 NTP 是什么?   NTP 是网络时间协议(Network Time Protoco ...

  4. Android之GPS定位详解

    2019独角兽企业重金招聘Python工程师标准>>> 一.LocationManager LocationMangager,位置管理器.要想操作定位相关设备,必须先定义个Locat ...

  5. android 通过GPS获取用户地理位置并监听位置变化

    1 Location Manager 管理服务 2 Location Provider 提供数据的content provider 方式一:GPS 特点:精度高,耗电量大,不耗费流量 权限<us ...

  6. Android系统GPS定位实现

    一.定位方式简介 定位基本分为三种方式,特点如下: 1.wifi定位:IP地址定位,根据ip地址查询实际的地理位置,因为动态获取ip的操作,定位不准确 2.基站定位:根据基站(信号塔)的个数以及手机与 ...

  7. Android的gps定位

    //GPS定位不需要在网络条件下可以运行,但是室内没法定位,必须到空旷的街道上(天上卫星与GPS芯片进行交互) import android.app.Service; import android.c ...

  8. android 强制打开gps定位_Android判断GPS是否开启和强制帮用户打开GPS

    引子:在我们的应用为用户提供定位服务时,通常想为用户提供精确点的定位服务,这是需要用户配合的.我们必须先检测用户手机的GPS当前是否打开,若没打开则弹出对话框提示.用户若不配合我们也没办法,只能采用基 ...

  9. Android判断GPS是否开启和让用户打开GPS

    定位服务GPS: 全球卫星定位系统,使用24个人造卫星所形成的网络来三角定位接受器的位置,并提供经纬度坐标.虽然GPS提供绝佳的位置的精确度,但定位的位置需要在可看见人造卫星或轨道所经过的地方. 定位 ...

  10. 教你把gps服务器修改为中国加速搜星,手机导航-GPS搜星速度优化(android手机)...

    提回来4个月,关于导航的问题曾经纠结过很久:弄个一体机吧,贵,安装还麻烦,新地图也麻烦(其实主要是贵...),家里装宽带电信送华为C8812跟华为C8650,一直都是拿这两个手机当导航用,但 ...

最新文章

  1. SharePoint 2010 与 SQL Server 2012 报表服务集成
  2. 微软宣布.NET Native预览版
  3. linux存储--线程与栈(十五)
  4. Android点赞音效播放
  5. 浅谈“知识蒸馏”技术在机器学习领域的应用
  6. 在.net 4.0程序中使用TPL Dataflow
  7. 【MarkDown】转义字符
  8. linux用户怎么归纳到组,Linux用户和组命令总结
  9. koa2 导出excel表格设置样式_一调整Excel表格的行列宽度,图片又得重新调整?点这个设置就行...
  10. 手机网页form表单样式_超全面!13种表单样式的设计方式都在这了
  11. CMMI3级认证过程记录
  12. html5在线拍照,HTML5整合本地摄像头,实现视屏预览及拍照上传
  13. 如何使用 SQL 对数据进行分析?
  14. 数学规划求解器lp_solve超详细教程
  15. GAN: Generative Adversarial Nets
  16. oracle 会话数上不去_(一)UDS诊断服务中的诊断会话控制(DiagnosticSessionControl,0x10)...
  17. 第三章 标准单元库(上)
  18. 做京东运营2年的感悟
  19. Docker Desktop 已经支持 Apple M1 了
  20. 计算机上显示F怎么取消,联想笔记本如何关闭Fn功能键 怎么取消电脑的f

热门文章

  1. xp系统打印机服务器win7连接不了,xp连不上win7的打印机,win7连接打印机
  2. onedrive—错误1200 Error Code 80090016
  3. 安装Home Assistant 历程+遇到的问题
  4. JavaScript实现输入框(密码框)出现提示语
  5. ZYNQ PL 添加IP 串口UART AXI UART16550
  6. linux换页符号,关于换行符:什么是回车符,换行符和换页符?
  7. 北京课改版三年级英语教案二-Leo老师
  8. java同步锁有哪几种_Java实现锁的几种方式
  9. 三个线程顺序执行依次输出123123123.....
  10. 现场总线-Can基础知识