Google地图无法在Android 4.0.1上获得GPS位置

时间:2012-12-27 18:20:28

标签: android android-mapview

我的设备gps找到了卫星,但没有锁定。它不断尝试获取GPS信号,但大多数时候都失败了。我在其他Android版本4.1.1上测试了它,问题仍然存在。 我刚刚尝试了许多重置Google位置服务和位置访问权限的组合,并没有修复它。我进入地图,我根本无法得到gps锁。我注意到,获得GPS信号需要更长的时间,信号同性恋者经常丢失 禁用“Google位置服务”也无效

在每个使用GPS的应用中,只显示空白圆圈。有时(几秒钟后)点出现并开始闪烁。但即使三分钟后我的手机也在搜索GPS信号。

在官方谷歌地图应用程序中,它说搜索GPS信号并保持这样

我没有任何错误报告。它只是一直在寻找卫星,在某些时候只有一个没有圆点的圆圈。

用于获取GPS坐标的示例代码

     @Override
public void onCreate(Bundle savedInstanceState) {
      locationManager = (LocationManager)                               getSystemService(Context.LOCATION_SERVICE);
    Criteria c = new Criteria();
    c.setAccuracy(Criteria.ACCURACY_FINE);
    c.setBearingRequired(true);
    pro = locationManager.getBestProvider(c, true);
           locationManager.requestLocationUpdates(pro, 0, 0, this);
    Location loc = locationManager.getLastKnownLocation(pro);
    gpsManager = new GPSManager();
    if (loc != null) {
        showLocation(loc);
    } 


    @Override
protected void onPause() {


    locationManager.removeUpdates(this);

}

有什么解决方案吗?

1 个答案:

答案 0 :(得分:0)

我最喜欢的调试GPS问题的工具是GPS测试应用程序。它会显示您手机正在检测的卫星数量,信号强度,修复精度等等。这至少可以让您排除卫星覆盖范围较差的区域。

我在市场上只有一个应用程序,但它是一个基于GPS的应用程序。这是我的一些代码,让事情有效。请注意,这只使用GPS,它不会根据网络进行粗略定位。

public void initLocationManager()
{
    myGpsManager = (LocationManager)getSystemService(LOCATION_SERVICE);
    long time = 0;
    float dist =0;
    myGpsListener = new locationListener();
    myGpsManager.requestLocationUpdates("gps", time, dist, myGpsListener);
}

@Override
public void onPause()
{
    myGpsManager.removeUpdates(myGpsListener);
    super.onPause();
}