如何在android中重置gps

时间:2015-07-14 12:39:41

标签: android gps geolocation

有没有办法在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”

1 个答案:

答案 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米),计算距离时应考虑到这一点。