1

我正在开发 gps 定位应用程序,我的问题是在我的Galaxy S2 ICS 4.0.3上,gps 调用 onLocationChanged 需要很长时间,锁定需要很长时间,有时根本不锁定,代码如下。

LocationManager lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
MyLocationListener listener = new MyLocationListener();

if (lm.isProviderEnabled(LocationManager.GPS_PROVIDER))
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 100, 0, listener);
else
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 100, 0, listener);


// Location Listener class
private class MyLocationListener implements LocationListener{

public void onLocationChanged(Location loc) {
     if(loc != null)
    txtLocation.setText("Lat: "+loc.getLatitude() + " Lng: "+loc.getLongitude());
     else
    Toast.makeText(MainActivity.this, "Loc == null", Toast.LENGTH_LONG).show();
    }

public void onProviderDisabled(String arg0) {}

public void onProviderEnabled(String arg0) {}

public void onStatusChanged(String arg0, int arg1, Bundle arg2) { }

}

我已经在Galaxy y (2.3.6)HTC Explorer (2.3.6)上测试了这段代码,它的运行速度非常快,并且可以在 4-5 秒内获得位置!!

现在是我的 Galaxy s2 还是 ics 问题,因为我已经用 XXLPJ 固件扎根了我的 S2

我该怎么做才能摆脱这个问题?

提前致谢。

4

1 回答 1

0

许多 GPS 设备使用 Extra XTRA 数据来快速锁定卫星,但这些数据最多需要每 7 天更新一次。

您在 Google Play 中有一些程序可以选择强制执行此更新(例如GPS Status)。您需要连接到 Internet 才能下载数据。

如果这不能解决,那么您可能会面临 ROM 问题或 GPS 故障。

问候。

于 2012-10-12T10:46:42.943 回答