我一直在阅读GpsStatus
上的过去问题,我对一个问题感到困惑:当我从GpsStatus
对象更新的GpsStatusListener
对象中检索上次修复中使用的卫星数量时{1}},我怎么知道这是我的LocatonListener
录制的修复方法?
我记录修复中使用的卫星数量的第一种方法是使用我onGpsStatusChanged
的{{1}}方法对它们进行计数,并将数字传递给我在顶部访问的变量我的GpsStatusListener
的{{1}}方法。但是我经常会报告有关于GPS修复的零卫星计数,当我记录正在发生的事情时,我发现我的LocationListener
发射了大量不同的卫星计数,之后我的onLocationChanged
然后抓住了最后一个 - 即使之前的那个更高,它经常变成零。我的假设是这是一个时间问题:最新修正在GpsStatusListener
记录卫星数量的时间和LocationListener
开始其GpSStatusListener
方法的时间之间发生了变化。 / p>
我尝试的第二种方法是简单地更新LocationListener
中的onLocationChanged
对象,然后在GpsStatus
的{{1}}的最顶部计算该对象的卫星数量{ {1}}方法(见下文)。但是,这似乎也没有解决问题。
有没有人有更好的方法?或者我担心这个时间问题我错了吗?
以下是我用于第二种方法的代码的相关部分:
GpsStatusListener
答案 0 :(得分:2)
虽然这可能无法完全回答您的问题,但有些背景信息:
卫星(使用)数据集的数量通常不是由GPS芯片evry第二提供的。典型值为5或10秒。原因是卫星星座不会改变第二个星期。
所以可能没有办法让num sats同步到Android手机上的相应修复程序。