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

LocationListener从未调用过
EN

Stack Overflow用户
提问于 2013-05-17 05:15:02
回答 1查看 916关注 0票数 2

我正在尝试调试我的应用程序,由于某些原因,当我开始获取当前位置时,我的LocationListener永远得不到更新……我已在清单中添加了正确的权限。下面是我用来测试是否至少调用了一个回调的示例代码片段:

我在三种不同的设备(Galaxy S3,Galaxy Note2,Google Nexus4)上进行了测试,它们都启用了全球定位系统和网络。

代码语言:javascript
复制
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new LocationListener() {
            @Override
            public void onStatusChanged(String provider, int status, Bundle extras) {
                MyLog.debug("FOO");
            }

            @Override
            public void onProviderEnabled(String provider) {
                MyLog.debug("FOO");
            }

            @Override
            public void onProviderDisabled(String provider) {
                MyLog.debug("FOO");
            }

            @Override
            public void onLocationChanged(Location location) {
                MyLog.debug("FOO");
            }
        });
EN

回答 1

Stack Overflow用户

发布于 2013-05-17 06:20:49

检查您是否已在清单(ACCESS_COARSE_LOCATIONACCESS_FINE_LOCATION)中添加了正确的权限。

此外,您不应该指定像LocationManager.GPS_PROVIDER这样的提供商名称,因为用户可能已经在他的设备上禁用了他的gps。LocationManager提供了一个方法getBestProvider(),你应该调用这个方法来获得最好的可用的提供者。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16597617

复制
相关文章

相似问题

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