Android如何通过原生方式获取经纬度与城市信息

  介绍

这篇文章主要讲解了Android如何通过原生方式获取经纬度与城市信息,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

在项目中需要获取用户所在位置的经纬度和城市上送给风控系统。一般来说,定位有两种方式:

    <李>用第三方SDK定位,如百度地图,高德地图,谷歌地图; <李>用Android原生SDK中api的定位;

本文讲述定位的第二种方式,用Android原生的SDK中api的定位,如果项目定位要求较高还是建议使用第三方地图库。

Android原生方式获取经纬度两种定位方式:GPS定位和Wifi定位

    <李> GPS定位相比Wifi定位更精准且可在无网络情况下使用,但在室内基本暴毙无法使用。 <李> Wifi定位没有室内外限制,也不需要开启GPS但需要联网。但测试发现Wifi定位时onLocationChanged函数(用于监听经纬度变化)触发间隔无法小于30年代。

示例代码如下:

公共类TestLocationActivity延伸AppCompatActivity {
  
  公共静态最终int LOCATION_CODE=301;
  私人LocationManager LocationManager;
  私人字符串locationProvider=零;
  
  
  @Override
  保护空白> & lt; !——粗略的位置权限——比;
  & lt; uses-permission android: name=癮ndroid.permission.ACCESS_COARSE_LOCATION"祝辞& lt;/uses-permission>
  & lt; !——精确的位置权限——比;
  & lt; uses-permission android: name=癮ndroid.permission.ACCESS_FINE_LOCATION"祝辞& lt;/uses-permission>
  & lt; uses-permission android: name=癮ndroid.permission.INTERNET"祝辞& lt;/uses-permission> 

首先将手机定位服务设置,调到下图所示:

 android如何通过原生方式获取经纬度与城市信息

这可能会获取不到经纬度。为什么在网络和GPS都可用的情况下只执行GPS而不是网络?也许是从精确度考虑的,但是走GPS进入监听的侦听器后,不会执行onLocationChanged()方法,因为我是在室内,没有移动,所以如果你获取不到经纬度,就要将定位服务调到仅使用网络定位或者关闭手机GPS这样就可以获取到了。

 android如何通过原生方式获取经纬度与城市信息

看完上述内容,是不是对android如何通过原生方式获取经纬度与城市信息有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。

Android如何通过原生方式获取经纬度与城市信息