MyLocationOverlay没有调用onProviderDisabled

时间:2012-08-28 12:45:43

标签: android google-maps gps

这是我的代码,有点奇怪:

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)。
除非我在禁用GPS的情况下启动活动并按下"否"否则一切都会非常好。在showNoGPSWarning()对话框中。然后我的应用程序根本不听GPS变化。

如果我打开它,没有任何反应。谷歌地图API并没有尝试获取GPS信号。如果我将其关闭,则不会再发生任何事情,onProviderDisabled()未被调用 正如我所说,如果我按下"是"这是唯一的方式。在对话框中它起作用。
那么我的对话框如何影响我的App的行为?。

1 个答案:

答案 0 :(得分:1)

按下“是/否”时再次尝试请求位置更新。希望它有所帮助。

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000L, 2000.0f, myLocationListener);