我正在开发 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
我该怎么做才能摆脱这个问题?
提前致谢。