这是我的代码,行为有点奇怪:
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(像这样)。
一切都很好,除非我在禁用 GPS 的情况下启动活动并在showNoGPSWarning()
对话框中按“否”。然后我的应用程序根本不听 GPS 变化。
如果我打开它,什么都不会发生。Google 地图 API 不会尝试获取 GPS 信号。如果我将其关闭,onProviderDisabled()
则不会再发生任何事情,不会被调用。
正如我所说,这是发生的唯一方法,如果我在对话框中按“是”,它就会起作用。
那么我的对话框如何影响我的应用程序的行为?