Ⅰ android开发,手机获取 GPS位置信息,求助手机睡眠以后获取GPS位置信息
一直搜索gps是因为无法定位。一般国产手机的gps芯片型号不行(用的芯片是集成在手机主芯片上的),搜星速度慢,无法定位。我用三星的手机不用开a-gps都能一分钟搜到信号定位成功。但用中兴的手机就不行,用a-gps经常是5分钟以上才能定位。另外高速移动也影响定位计算。还有手机会保存上次定位的一些信息,这样在下次开gps时定位更快,你在高速上开gps,换了新地方计算定位花的时间会更长。建议你改改手机里的设置,换一个a-gps的定位网络服务器地址。
Ⅱ android的怎么使用gps定位
有两种方法,
一种是设置里,有个位置和安全的选项,里面设置允许使用位置服务;
第二种(安卓4.0以上)在下拉栏里点击“位置服务”案件,绿色就表示打开了。以上两种方法使用时都会在上面有一个位置服务标识中间在闪烁。
打开wifi和GPS,允许定位!
Ⅲ Android 怎样稳定的获取原生GPS数据
定位了就有经纬度,没定位,则一直闪的;
一般是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;
}
}
};
Ⅳ 如何在Android中编程获得当前的GPS定位
您好,很高兴为您解答。
一、准备工作需要如下三种软件:1. Eclipse2. Android SDK3. 开发Android程序的Eclipse 插件
为了开始我们的工作,首先要安装Eclipse,然后从Google的网站获得Android SDK,并且安装Eclipse插件。
二、Activity类每一种移动开发环境都有自己的基类。如J2ME应用程序的基类是midlets,BREW的基类是applets,而Android程序的基类是 Activity。这个activity为我们提供了对移动操作系统的基本功能和事件的访问。这个类包含了基本的构造方法,键盘处理,挂起来恢复功能,以 及其他底层的手持设备的访问。实质上,我们的应用程序将是一个Activity类的扩展。在本文中读者将会通过例子学习到如何使用Activity类来编 写Android程序。
Ⅳ android如何获取地理位置
三种方式进行定位,获取用户位置,分别是基于基站定位, 网络定位,GPS定位。
1.基站定位(passive):这是基于网络基站进行定位的,定位的精确度在几十米到几千米不等,在城市中基站覆盖率比较高,推荐使用基站定位,如果是在郊区,基站相距较远,基站的覆盖没有城里好,定位的误差比较大。如果在郊区不推荐使用基站定位。
2.网络定位:wifi定位,网络定位
3.GPS定位:与卫星进行通信。手机中嵌入了GPS模块(精简版的A-GPS),通过A-GPS搜索卫星, 获取经纬度。使用GPS的弊端是:必须站在空旷的地方,头顶对着天空,如果云层厚了,也会受到一定的影响。精确度:10-50米
扩展知识:
使用Android是定位必备的权限:
< uses-permission android:name= " android.permission.ACCESS_FINE_LOCATION " /> //精确定位
<uses-permission android:name= "android.permission.ACCESS_MOCK_LOCATION" /> //模拟器
<uses-permission android:name= "android.permission.ACCESS_COARSE_LOCATION" /> //粗糙定位
//获取定位管理对象
LocationManager lm=(LocationManager)getSystemService(LOCATION_SERVICE);
String[] names=lm.getAllProviders();//获取所有的位置提供者,一般三种
Criteria criteria=new Criteria();//查询条件,如果设置了海拔,则定位方式只能是GPS;
criteria.setCostAllowed(true);//是否产生开销,比如流量费
String provider=lm.getBaseProvider(criteria,true)//获取最好的位置提供者,第二个参数为true,表示只获取那些被打开的位置提供者
lm.requestLocationUpdates(provier,0,0,new LocationListener(){});//获取位置。第二个参数表示每隔多少时间返回一次数据,第三个参数表示被定位的物体移动每次多少米返回一次数据。
private class MyLocationListener implements LocationListener {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
@Override
public void onLocationChanged(Location location) {
System. out.println( "服务中位置监听发送了变化了" );
float accuracy = location.getAccuracy(); // 精确度
double altitude = location.getAltitude(); // 海拔
double latitude = location.getLatitude(); // 纬度
double longitude = location.getLongitude(); // 经度
String locationInfo = "jing:" + longitude + ",wei:" + latitude + ",haiba:" + altitude + ",jingque:" + accuracy;
Editor edit = sp.edit();
edit.putString( "location", locationInfo);
edit.commit();
}
} public void onProviderDisabled(String provider) {
}
Ⅵ android 怎么获取gps信息
可以做到直接call到GPS模块,读取当前的经纬度。
但经纬度->实际地址的转换,google提供了api供程序调用,需要去申请一个google maps api的key,然后发送经纬度,会返回实际地址。
Ⅶ Android 怎样稳定的获取原生GPS数据
LocationManager类的对象获取由系统提供
为一个LocationManager对象建立一个对象引用
Ⅷ 安卓手机怎么定位 安卓手机怎么打开定位
可参考vivo手机的开启方式:
1、可以进入设置--(安全与隐私/更多设置)--定位服务--开启“定位服务/使用GPS卫星”,开启后可选择软件开启定位权限;
2、打开手机的控制中心--点击定位按钮即可开启。
Ⅸ 安卓手机如何开启GPS定位服务
1、首先打开自己的手机,然后找到设置图标,点击进入。
Ⅹ android怎样获得gps信息
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
private void getLocation()
{
// 获取位置管理服务
LocationManager locationManager;
String serviceName = Context.LOCATION_SERVICE;
locationManager = (LocationManager) this.getSystemService(serviceName);
// 查找到服务信息
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE); // 高精度
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW); // 低功耗
String provider = locationManager.getBestProvider(criteria, true); // 获取GPS信息
Location location = locationManager.getLastKnownLocation(provider); // 通过GPS获取位置
updateToNewLocation(location);
// 设置监听器,自动更新的最小时间为间隔N秒(1秒为1*1000,这样写主要为了方便)或最小位移变化超过N米
locationManager.requestLocationUpdates(provider, 100 * 1000, 500,
locationListener); }
private void updateToNewLocation(Location location) {
TextView tv1;
tv1 = (TextView) this.findViewById(R.id.tv1);
if (location != null) {
double latitude = location.getLatitude();
double longitude= location.getLongitude();
tv1.setText("维度:" + latitude+ "\n经度" + longitude);
} else {
tv1.setText("无法获取地理信息");
}
}
网络地图API调用地址:http://api.map..com/geocoder?output=json&location=纬度,经度&key=APP_KEY
谷歌地图服务API调用地址:http://maps.google.com/maps/api/geocode/json?latlng= 纬度,经度 &language=zh-CN&sensor=true
可以设置返回数据格式,JSON或者XML。