如果开发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 回答
- 0 关注
- 331 浏览
添加回答
举报
0/150
提交
取消
