解决方案 »
- 求助:GLsurfaceview设置背景透明问题
- 在线等,纯新求助,$的意义。
- host-setup.sh:command not found
- 黑莓的Playbook会支持Android的应用。请问怎么支持的?
- 用busybox跟android系统交互时,怎么切换到root用户?我想执行放在SD卡里面的应用程序,而不想每次去把应用程序打包到android镜像。
- 关于Android输入法制作的提问
- 带用户管理的客户端,用户改了密码,怎么才能立即发现并强制重新登录
- 关于android卸载内置应用icon不消失问题
- android 浏览器多标签显示
- getRotationMatrix所得到的旋转矩阵R
- 关于不同分辨率的显示问题
- 100 分 求助 -----------> Android装载freetype失败
一般是4个星的时候 会定位。
所以可以根据是否获取有效的经纬度信息来判断是否定位。卫星的个数 sv_status也是可以通过API获取的。LOCATION类
给你一段我的代码,看看就知道了。locationManager.addGpsStatusListener(statusListener);//侦听GPS状态private GpsStatus.Listener statusListener = new GpsStatus.Listener() {
public void onGpsStatusChanged(int event)
{
// TODO Auto-generated method stub
GpsStatus gpsStatus= locationManager.getGpsStatus(null);
Log.v(TAG,"GPS status listener ");
//Utils.DisplayToastShort(GPSService.this, "GPS status listener ");
switch(event)
{
case GpsStatus.GPS_EVENT_FIRST_FIX:{
//第一次定位时间UTC gps可用
//Log.v(TAG,"GPS is usable");
int i=gpsStatus.getTimeToFirstFix();
Utils.DisplayToastShort(GPSService.this, "GPS 第一次可用 "+i);
Utils.setGPSStatus(Utils.GPS_STATUS.START);
break;
}
case GpsStatus.GPS_EVENT_SATELLITE_STATUS:{//周期的报告卫星状态
//得到所有收到的卫星的信息,包括 卫星的高度角、方位角、信噪比、和伪随机号(及卫星编号)
Iterable<GpsSatellite> allSatellites;
allSatellites = gpsStatus.getSatellites();
Iterator<GpsSatellite>iterator = allSatellites.iterator();
int numOfSatellites = 0;
int maxSatellites=gpsStatus.getMaxSatellites();
while(iterator.hasNext() && numOfSatellites<maxSatellites){
numOfSatellites++;
iterator.next();
}
Log.v(TAG,"GPS is **unusable** "+ numOfSatellites +" "+ maxSatellites);
if( numOfSatellites < 3){
// Utils.DisplayToastShort(GPSService.this, "***卫星少于3颗***");
Utils.setGPSStatus(Utils.GPS_STATUS.STOP);
} else if(numOfSatellites > 7){
Utils.setGPSStatus(Utils.GPS_STATUS.START);
}
break;
}
case GpsStatus.GPS_EVENT_STARTED:{
//Utils.DisplayToastShort(GPSService.this, "GPS start Event");
break;
}
case GpsStatus.GPS_EVENT_STOPPED:{
//Utils.DisplayToastShort(GPSService.this, "GPS **stop*** Event");
Utils.setGPSStatus(Utils.GPS_STATUS.STOP);
break;
}
default :
break;
}
}
};