这是我的代码,它的行为有点奇怪:
locationOverlay = new MyLocationOverlay(this, map) {
@Override
public void onLocationChanged(Location location) {
super.onLocationChanged(location);
updatePosition(locationOverlay.getMyLocation());
}
@Override
public void onProviderDisabled(String provider) {
if(provider.equals(LocationManager.GPS_PROVIDER))
showNoGPSWarning();
}
};showNoGPSWarning会显示一个对话框,询问是否应该启用GPS (如this)。
一切正常,除非我在showNoGPSWarning()对话框中禁用GPS并按下"No“。然后我的应用程序根本不会监听GPS的变化。
如果我打开它,什么也不会发生。谷歌地图API不会尝试获取GPS信号。如果我把它关掉,什么也不会发生,onProviderDisabled()也不会被调用。
正如我所说的,这是唯一的方法,如果我在对话框中按下“是”,它就会起作用。
那么,我的对话框是如何影响我的应用程序的行为的呢?
发布于 2012-08-28 21:33:17
再次尝试在您按下是/否时请求位置更新,如下所示。希望能有所帮助。
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000L, 2000.0f, myLocationListener);https://stackoverflow.com/questions/12159524
复制相似问题