gps校正 android,通过GPS时间同步Android设备?
简洁版本:
问题:我需要几个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设备?相关推荐
- gps android时钟同步,通过GPS时间同步Android设备?
简短版本: 问题:我需要几个Android设备在同一时间(约100毫秒)内执行某些操作.例如,我希望所有设备在以前确定的时间点播放一定的声音. 问题:我可以使用GPS时间来确保设备时钟的同步吗? 更长 ...
- 时间服务器中,适用于国内的 NTP 服务器地址,可用于时间同步或 Android 加速 GPS 定位
NTP 是什么? NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备[如计算机.手机]的时间的协议. NTP 实现什么目的? 目的很简单,就是为了提供准确 ...
- 时间同步:适用于国内的 NTP 服务器地址,可用于时间同步或 Android 加速 GPS 定位
转载自:http://blog.csdn.net/maxsky/article/details/53866475 NTP 是什么? NTP 是网络时间协议(Network Time Protoco ...
- Android之GPS定位详解
2019独角兽企业重金招聘Python工程师标准>>> 一.LocationManager LocationMangager,位置管理器.要想操作定位相关设备,必须先定义个Locat ...
- android 通过GPS获取用户地理位置并监听位置变化
1 Location Manager 管理服务 2 Location Provider 提供数据的content provider 方式一:GPS 特点:精度高,耗电量大,不耗费流量 权限<us ...
- Android系统GPS定位实现
一.定位方式简介 定位基本分为三种方式,特点如下: 1.wifi定位:IP地址定位,根据ip地址查询实际的地理位置,因为动态获取ip的操作,定位不准确 2.基站定位:根据基站(信号塔)的个数以及手机与 ...
- Android的gps定位
//GPS定位不需要在网络条件下可以运行,但是室内没法定位,必须到空旷的街道上(天上卫星与GPS芯片进行交互) import android.app.Service; import android.c ...
- android 强制打开gps定位_Android判断GPS是否开启和强制帮用户打开GPS
引子:在我们的应用为用户提供定位服务时,通常想为用户提供精确点的定位服务,这是需要用户配合的.我们必须先检测用户手机的GPS当前是否打开,若没打开则弹出对话框提示.用户若不配合我们也没办法,只能采用基 ...
- Android判断GPS是否开启和让用户打开GPS
定位服务GPS: 全球卫星定位系统,使用24个人造卫星所形成的网络来三角定位接受器的位置,并提供经纬度坐标.虽然GPS提供绝佳的位置的精确度,但定位的位置需要在可看见人造卫星或轨道所经过的地方. 定位 ...
- 教你把gps服务器修改为中国加速搜星,手机导航-GPS搜星速度优化(android手机)...
提回来4个月,关于导航的问题曾经纠结过很久:弄个一体机吧,贵,安装还麻烦,新地图也麻烦(其实主要是贵...),家里装宽带电信送华为C8812跟华为C8650,一直都是拿这两个手机当导航用,但 ...
最新文章
- SharePoint 2010 与 SQL Server 2012 报表服务集成
- 微软宣布.NET Native预览版
- linux存储--线程与栈(十五)
- Android点赞音效播放
- 浅谈“知识蒸馏”技术在机器学习领域的应用
- 在.net 4.0程序中使用TPL Dataflow
- 【MarkDown】转义字符
- linux用户怎么归纳到组,Linux用户和组命令总结
- koa2 导出excel表格设置样式_一调整Excel表格的行列宽度,图片又得重新调整?点这个设置就行...
- 手机网页form表单样式_超全面!13种表单样式的设计方式都在这了
- CMMI3级认证过程记录
- html5在线拍照,HTML5整合本地摄像头,实现视屏预览及拍照上传
- 如何使用 SQL 对数据进行分析?
- 数学规划求解器lp_solve超详细教程
- GAN: Generative Adversarial Nets
- oracle 会话数上不去_(一)UDS诊断服务中的诊断会话控制(DiagnosticSessionControl,0x10)...
- 第三章 标准单元库(上)
- 做京东运营2年的感悟
- Docker Desktop 已经支持 Apple M1 了
- 计算机上显示F怎么取消,联想笔记本如何关闭Fn功能键 怎么取消电脑的f
热门文章
- xp系统打印机服务器win7连接不了,xp连不上win7的打印机,win7连接打印机
- onedrive—错误1200 Error Code 80090016
- 安装Home Assistant 历程+遇到的问题
- JavaScript实现输入框(密码框)出现提示语
- ZYNQ PL 添加IP 串口UART AXI UART16550
- linux换页符号,关于换行符:什么是回车符,换行符和换页符?
- 北京课改版三年级英语教案二-Leo老师
- java同步锁有哪几种_Java实现锁的几种方式
- 三个线程顺序执行依次输出123123123.....
- 现场总线-Can基础知识