有没有办法在Android中重置GPS? 请帮忙。 我测试了一些下面的代码,但不确定它的工作原理。
重置
Locationmanager.sendExtraCommand(LocationManager.GPS_PROVIDER,“delete_aiding_data”,null);
下载GPS数据
public static void downloadGPSXtra(Context context){
LocationManager locationmanager1 = (LocationManager)context.getSystemService("location");
Bundle bundle = new Bundle();
locationmanager1.sendExtraCommand("gps", "force_xtra_injection", bundle);
locationmanager1.sendExtraCommand("gps", "force_time_injection", bundle);
}
并在android menifest中添加权限声明。
“ACCESS_LOCATION_EXTRA_COMMANDS”
答案 0 :(得分:1)
Android位置管理器使用多个来源定位
数据网络(使用IP地理位置达到城市级别的粗略位置)
网络提供商(使用手机信号塔可达100米的粗略位置)
GNSS(在GNSS芯片上使用GPS / GLONASS / GALILEO精确到3米)
位置管理器是硬件封装,你无法访问芯片。 由于经常遇到障碍,GNSS芯片失去了对城市地区卫星的跟踪。即使从卫星跟踪丢失,使用多个来源也可以帮助Android跟踪位置。
locationmanager1.sendExtraCommand(“gps”,“force_xtra_injection”,捆绑); locationmanager1.sendExtraCommand(“gps”,“force_time_injection”,bundle);
您正在下载a-gps数据 并同步GPS时间。
您正在做的是强制加载a-GPS数据。没有a-Gps数据,获得芯片首次修复的时间范围为3-20分钟。使用a-Gps可以减少到32秒。
[有些应用需要生根,可以更改a-gps加载位置]
位置管理器在很大程度上取决于“最后知道的最佳位置”。所以你所做的是正确的,它应该在一定程度上提高准确性。根据设备,您可以看到结果。
在硬件级别,在给定位置至少有3米误差(范围可达50米),计算距离时应考虑到这一点。