为了账号安全,请及时绑定邮箱和手机立即绑定

请教一个 android.location 方面的问题,具体情况如下哦

请教一个 android.location 方面的问题,具体情况如下哦

撒科打诨 2021-12-15 14:11:01
如果开发GPS应用方面的软件①先要获取一个管理器:LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);②再定义一个监听:LocationListener locationListener = new LocationListener() {@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {switch (status) {// GPS状态为可见时case LocationProvider.AVAILABLE:Log.e("TAG", "当前GPS状态为可见状态");et01.setText("LocationProvider.AVAILABLE");break;// GPS状态为服务区外时case LocationProvider.OUT_OF_SERVICE:Log.e("TAG", "当前GPS状态为服务区外状态");et01.setText("LocationProvider.OUT_OF_SERVICE");break;// GPS状态为暂停服务时case LocationProvider.TEMPORARILY_UNAVAILABLE:Log.e("TAG", "当前GPS状态为暂停服务状态");et01.setText("LocationProvider.TEMPORARILY_UNAVAILABLE");break;}}... ...};③邦定监听到管理器上(provider直接使用GPS_PROVIDER,不考虑NETWORK_PROVIDER):locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);问题是,测试时(真实设备非虚拟设备),似乎永远无法触发locationListener的onStatusChanged方法,请教高手,何时能触发这个方法,再就解释一下方法中的各个状态,多谢!!!如果GPS设备启动了,但是还没有搜索到卫星,比如说在屋内,不能正常接收数据,是一个状态从屋内到屋外,GPS搜索到足够的卫星,正常接收卫星数据,是一个状态又回到屋内,GPS有无法搜索到卫星,暂时不能接收数据,是一个状态就是这么测试的,还是无法触发locationListener的onStatusChanged方法
查看完整描述

2 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

我理解是
如果GPS设备启动了,但是还没有搜索到卫星,比如说在屋内,不能正常接收数据,是一个状态
从屋内到屋外,GPS搜索到足够的卫星,正常接收卫星数据,是一个状态
又回到屋内,GPS有无法搜索到卫星,暂时不能接收数据,是一个状态
不知道这种理解对不对

查看完整回答
反对 回复 2021-12-19
?
九州编程

TA贡献1785条经验 获得超4个赞

由于你使用的是provider直接使用GPS_PROVIDER,不考虑NETWORK_PROVIDER
所以你的设备要在天气好 而且不能在屋内,否则无法接收到GPS信号

查看完整回答
反对 回复 2021-12-19
  • 2 回答
  • 0 关注
  • 331 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号