これは少し奇妙な振る舞いをする私のコードです:
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 Maps APIは、GPS信号を取得しようとはしません。オフに戻すと、何も起こらonProviderDisabled()
ず、呼び出されません。
私が言ったように、これが起こる唯一の方法です、私がダイアログで「はい」を押すならば、それは働きます。
では、ダイアログはアプリの動作にどのように影響しますか?