MTK YGPS的结果 如何从apk里拿到
YGPS 是独占的,且它在前台时你的 App 很难拿到 Fix,那么行业内 通用的标准做法通常
方案一:利用 PassiveProvider 监听 YGPS 的成果(推荐)
既然 YGPS 能定位,它定位成功后一定会把坐标写回系统的基带。你的 App 可以不主动请求 GPS,而是扮演“窃听者”,专门监听 LocationManager.PASSIVE_PROVIDER。
但为了防止后台被冻结,不要让 YGPS 永久霸占前台。可以修改逻辑为:轮询检测 / 定时收回控制权。
启动 YGPS 后,你的 App 在后台静默等待 8~10 秒。
8~10 秒后,利用 Handler 主动把你的 GpsTestActivity 重新唤醒到前台(或者通过杀死/关闭 YGPS 让控制权回到你的 App)。
当你的 App 回到前台的瞬间,再去调用 mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER)。此时由于 YGPS 刚刚定位成功,系统缓存里一定有一个极其新鲜的坐标,直接读取它判定 PASS。
[]
adb logcat -s GpsTestActivity
