首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MyLocationOverlay未调用onProviderDisabled

MyLocationOverlay未调用onProviderDisabled
EN

Stack Overflow用户
提问于 2012-08-28 20:45:43
回答 1查看 1K关注 0票数 0

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

代码语言:javascript
复制
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()也不会被调用。

正如我所说的,这是唯一的方法,如果我在对话框中按下“是”,它就会起作用。

那么,我的对话框是如何影响我的应用程序的行为的呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-28 21:33:17

再次尝试在您按下是/否时请求位置更新,如下所示。希望能有所帮助。

代码语言:javascript
复制
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000L, 2000.0f, myLocationListener);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12159524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档