android 获取gps,当调用到network报错

android 获取gps,当调用到network报错,第1张

说明你的测试手机没有network provider,有这种情况的,换个手机就行了。

你可以先查询一下你的手机上都有哪些provider。

通过androidlocationLocationManager#getAllProviders方法来列出所有的provider,一看就明了了。

Android 实现稳定获取原生GPS数据

LocationManager类的对象获取由系统提供

为一个LocationManager对象建立一个对象引用

可用locationManager对任意有关GPS的功能进行 *** 作

通过Location,获取所有的位置数据

进行定位,将地点信息传递给一个Location对象

调用函数,对每次更新的位置信息进行 *** 作

使用模拟器测试时,用Emulator的位置控制器进行设置

效果

你可以利用百度的api来进行定位

>

Android中获取当前位置的三种方式:

1GPS定位

获取GPS的Location Provider;将此Provider传入到requestLocationUpdates()方法,让Android系统获知搜索位置方式;创建实现了GpsStatusListener接口的对象,重写onGpsStatusChanged()方法,向LocationManager添加次监听器

2基站定位

此类位置的获取有赖于手机无线通讯信号,当手机处在信号覆盖范围内,手机可以获得该区域(即通讯术语中的“小区”)的识别号。因为这些识别号是惟一的,因此可以将识别号和地理坐标对应起来,因此根据识别号就可以知道地理位置。但是误差比较大。

在Android当中,大部分和通讯网络相关的信息都需要经过一项系统服务,即TelephoneManager来获得。

3网络定位(wife定位)

其原理是首先收集每个WIFI无线接入点的位置,对每个无线路由器进行唯一的标识,在数据库中注明这些接入点的具体位置。 使用时,一旦发现有WI-FI接入点,则进入到数据中查看匹配的记录,进而得到位置信息。

WIFI定位主要取决于节点(node)的物理地址(mac address)。与提供TelephoneManager一样,Android也提供了获取WIFI信息的接口:WifiManager。

您好,很高兴为您解答。

一、准备工作需要如下三种软件:1 Eclipse2 Android SDK3 开发Android程序的Eclipse 插件

为了开始我们的工作,首先要安装Eclipse,然后从Google的网站获得Android SDK,并且安装Eclipse插件。

二、Activity类每一种移动开发环境都有自己的基类。如J2ME应用程序的基类是midlets,BREW的基类是applets,而Android程序的基类是 Activity。这个activity为我们提供了对移动 *** 作系统的基本功能和事件的访问。这个类包含了基本的构造方法,键盘处理,挂起来恢复功能,以 及其他底层的手持设备的访问。实质上,我们的应用程序将是一个Activity类的扩展。在本文中读者将会通过例子学习到如何使用Activity类来编 写Android程序。

三种方式进行定位,获取用户位置,分别是基于基站定位, 网络定位,GPS定位。

1基站定位(passive):这是基于网络基站进行定位的,定位的精确度在几十米到几千米不等,在城市中基站覆盖率比较高,推荐使用基站定位,如果是在郊区,基站相距较远,基站的覆盖没有城里好,定位的误差比较大。如果在郊区不推荐使用基站定位。

2网络定位:wifi定位,网络定位

3GPS定位:与卫星进行通信。手机中嵌入了GPS模块(精简版的A-GPS),通过A-GPS搜索卫星, 获取经纬度。使用GPS的弊端是:必须站在空旷的地方,头顶对着天空,如果云层厚了,也会受到一定的影响。精确度:10-50米

扩展知识:

使用Android是定位必备的权限:

< uses-permission android:name= " androidpermissionACCESS_FINE_LOCATION " /> //精确定位

<uses-permission android:name= "androidpermissionACCESS_MOCK_LOCATION" /> //模拟器

<uses-permission android:name= "androidpermissionACCESS_COARSE_LOCATION" /> //粗糙定位

//获取定位管理对象

LocationManager lm=(LocationManager)getSystemService(LOCATION_SERVICE);

String[] names=lmgetAllProviders();//获取所有的位置提供者,一般三种

Criteria criteria=new Criteria();//查询条件,如果设置了海拔,则定位方式只能是GPS;

criteriasetCostAllowed(true);//是否产生开销,比如流量费

String provider=lmgetBaseProvider(criteria,true)//获取最好的位置提供者,第二个参数为true,表示只获取那些被打开的位置提供者

lmrequestLocationUpdates(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 outprintln( "服务中位置监听发送了变化了" );

float accuracy = locationgetAccuracy(); // 精确度

double altitude = locationgetAltitude(); // 海拔

double latitude = locationgetLatitude(); // 纬度

double longitude = locationgetLongitude(); // 经度

String locationInfo = "jingdu:" + longitude + ",weidu:" + latitude + ",haiba:" + altitude + ",jingquedu:" + accuracy;

Editor edit = spedit();

editputString( "location", locationInfo);

editcommit();

}

} public void onProviderDisabled(String provider) {

}

以上就是关于android 获取gps,当调用到network报错全部的内容,包括:android 获取gps,当调用到network报错、Android 怎样稳定的获取原生GPS数据、android中自带gps怎么获取本地位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9668732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存