我正在开发一个需要了解用户位置的位置感知应用程序。 问题是应用程序似乎不能正常工作。Android GPS位置监听器
正确地说,我的意思是说,每次我必须首先打开一个应用程序(例如有氧运动训练器)才能获得GPS信号,然后运行我的程序,否则通知栏上的GPS图标会闪烁,如闪烁该设备尝试获取GPS信号,过了一段时间后,它停止并且没有位置返回!
这真的很奇怪,因为它不应该停止,是否有一个区间,android提供GPS获取信号?
关于文档,我还没有找到任何有关的。
我的代码如下:
lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 10, locationListenerGps);
LocationListener locationListenerGps = new LocationListener() {
public void onLocationChanged(Location location) {
locationResult.gotLocation(location);
Log.e("##################","MyLocation got GPS location accuracy:
"+location.getAccuracy()+" Altitute: "+location.getAltitude()+" log:
"+location.getLongitude()+" lat: "+location.getLatitude());
}
public void onProviderDisabled(String provider) {}
public void onProviderEnabled(String provider) {}
public void onStatusChanged(String provider, int status, Bundle extras) {}
};
这应该打开GPS提供商和注册监听器名为locationListenerGps将由外景经理被称为每隔1分钟或右10米?
为什么我必须首先打开cardioTrainer以获取GPS信号?
您是否拥有ACCESS_FINE_LOCATION权限? – EboMike 2010-08-27 17:35:19
是的,如果我没有抛出异常,我拥有所有需要的权限。这是否可能是由于唤醒锁定问题或与位置管理器无关的其他内容引起的? – maxsap 2010-08-27 19:45:28
你是如何初始化你的lm变量的? – 2010-08-27 23:05:13