![]() |
1
6
这不是真正的工作原理。在大多数情况下,要想得到一个GPS定位,通常需要这么长的时间。但从那时起,每次更新(代码中每2秒)都将是此人当前的位置。你得到的第一个修正就是这个人的当前位置,所以数据不会“过时”。 另外一件事。如果在服务中运行此代码,则不应使用进度对话框阻止UI,而绝对不应使用服务。这是一个等待发生的内存泄漏。只有当进度可能最多需要5秒,并且正在活动中的线程中运行时,才应显示进度。另一个选项是在标题栏中显示进度对话框,并且仍然允许用户与应用程序交互(这就是为什么您仍然使用服务)。在很长一段时间内显示进度真的不太方便用户。尤其是如果他们以某种方式改变方向(可能是偶然的),然后你的应用程序因为对话框的服务处理而崩溃,他们必须重新开始。 看看 Google I/O 2010 app 以了解活动如何与服务一起工作的一个很好的示例。它使用服务来提取数据,并在服务执行某些工作时显示标题中的进度。还可以让你在应用程序中做其他事情。 |
![]() |
2
4
斯科特,有很多因素会影响第一次修复需要多长时间,甚至影响修复是否可以实现,最常见的是设备和卫星之间的物理障碍(如:建筑物、峡谷壁等)。 您无法控制GPS引擎提供修复所需的时间,但您可以了解它的工作方式,包括第一次修复的时间:
当引擎尝试监听可用的卫星时,将生成事件。在最近的一次用光障碍物进行的测试中,我发现需要22.4秒才能得到一个初始修复,在此期间,24个卫星状态事件报告了8个卫星的逐渐访问,然后收到足够干净的信号来实现修复。这是最后一个事件: 06-08 23:23:25.147,D,GPS,22427,“ongpsStatusChanged():,used,s/n,az,el” 06-08 23:23:25.147,D,GPS,22427,“OngPSStatusChanged():2,真,26.0,57.0,73.0” 06-08 23:23:25.147,D,GPS,22427,“OngPSStatusChanged():4,真,30.0,46.0,27.0” 06-08 23:23:25.147,D,GPS,22427,“OngPSStatusChanged():5,真,19.0144.0,25.0” 06-08 23:23:25.155,D,GPS,22427,“OngPSStatusChanged():9,真,22.0202.0,22.0” 06-08 23:23:25.155,D,GPS,22427,“ongpsStatusChanged():10,真,17.0109.0,32.0” 06-08 23:23:25.155,D,GPS,22427,“OngPSStatusChanged():12,真,32.0320.0,80.0” 06-08 23:23:25.155,D,GPS,22427,“OngPSStatusChanged():29,真,21.0278.0,21.0” 06-08 23:23:25.155,D,GPS,22427,“OngPSStatusChanged():30,真,31.0312.0,43.0” 06-08 23:23:25.163,D,gpslocationprovider,1039,ttff:22457 06-08 23:23:25.194,I,GPS,22427,ongpsStatusChanged():首次固定时间ms=22457 请注意,在固定时间,您将获得当前位置,而不是您曾经去过的位置。我想除了你已经拥有的东西,你现在可以到达那里。或者,看看职业选手是怎么做到的 here . |
![]() |
3
3
有一个关于获取带超时的GPS位置的示例。 http://sikazi.blogspot.com/2010/09/android-gps-timeout.html#more |
![]() |
4
1
我一直在努力解决类似的问题,最近我从计时器切换到了
|
![]() |
5
-7
根据对Shawn的回答,将参数打包到JSON中,并将JSON对象发送到服务器中。 |
![]() |
Murilo · Jetpack编写导航栏项目图标 5 月前 |
![]() |
KolaYAndr · 活动RESULT_OK似乎从未发生过 5 月前 |
![]() |
psycho_pat · Android应用程序中的权限 6 月前 |
|
FarazFiroz · 如何将argb转换为描述性文本颜色 6 月前 |
![]() |
Daniel · Unity Android游戏支持的设备数量太少 6 月前 |