其实大多时候,我们需要的位置获取,不需要外接高德或者百度,直接通过手机自带的GPS也可以获取当前位置

目录

  • 首先:添加定位,网络权限
  • 第一种:使用原生LocationProvider
    • 1.初始化,设置定位参数
    • 2.设置回调监听
  • 第二种:使用框架引用LocationUtils工具类
    • 1. [点击查看完整使用依赖](https://blog.csdn.net/qq_28643195/article/details/108084339)
    • 2.引用函数
      • 注:需要注意的是无论这两种那种方法,必须满足于当前设备是有GPS芯片的,不然返回信息为null

首先:添加定位,网络权限

 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/><uses-permission android:name="android.permission.INTERNET"/>

第一种:使用原生LocationProvider

1.初始化,设置定位参数

  private MyLocationListener myLocationListener;private String bestProvider;private fun initLocation() {//获取定位方式List<String> providers = locationManager.getProviders(true);for(String s:providers){Log.e(TAG,s);}Criteria criteria = new Criteria();// 查询精度:高,Criteria.ACCURACY_COARSE比较粗略,Criteria.ACCURACY_FINE则比较精确criteria.setAccuracy(Criteria.ACCURACY_FINE);// 是否查询海拨:否criteria.setAltitudeRequired(true);// 是否查询方位角 : 否criteria.setBearingRequired(false);// 设置是否要求速度criteria.setSpeedRequired(false);// 电量要求:低criteria.setPowerRequirement(Criteria.ACCURACY_LOW);bestProvider = locationManager.getBestProvider(criteria, false);  //获取最佳定位myLocationListener = new MyLocationListener();}

2.设置回调监听

private class MyLocationListener implements LocationListener {@Overridepublic void onLocationChanged(Location location) {//定位时调用Log.e(TAG,"onLocationChanged");List<Address> addresses = new ArrayList<>();//经纬度转城市Geocoder geocoder = new Geocoder(context);try {addresses =geocoder.getFromLocation(location.getLatitude(),location.getLongitude(),10);} catch (IOException e) {e.printStackTrace();}for(Address address:addresses){//国家  CNLog.e(TAG,address.getCountryCode());//国家Log.e(TAG,address.getCountryName());//省,市,地址Log.e(TAG,address.getAdminArea());Log.e(TAG,address.getLocality());Log.e(TAG,address.getFeatureName());//经纬度Log.e(TAG, String.valueOf(address.getLatitude()));Log.e(TAG, String.valueOf(address.getLongitude()));
//                Log.e(TAG,address.getAddressLine());}}

第二种:使用框架引用LocationUtils工具类

1. 点击查看完整使用依赖

2.引用函数

isGpsEnabled      : 判断Gps是否可用
isLocationEnabled : 判断定位是否可用
openGpsSettings   : 打开Gps设置界面
register          : 注册
unregister        : 注销
getAddress        : 根据经纬度获取地理位置
getCountryName    : 根据经纬度获取所在国家
getLocality       : 根据经纬度获取所在地
getStreet         : 根据经纬度获取所在街道
注:需要注意的是无论这两种那种方法,必须满足于当前设备是有GPS芯片的,不然返回信息为null

Android 根据手机自带GPS获取当前位置,经纬度相关推荐

  1. android获取当前位置经纬度,Android中通过GPS或NetWork获取当前位置的经纬度

    今天在Android项目中要实现一个通过GPS或NetWork来获取当前移动终端设备的经纬度功能.要实现该功能要用到Android Framework 中的 LocationManager 类.下面我 ...

  2. 百度地图Geolocation的getStatus状态值(百度API获取当前位置[经纬度])

    //关于状态码 //BMAP_STATUS_SUCCESS 检索成功.对应数值"0". //BMAP_STATUS_CITY_LIST 城市列表.对应数值"1" ...

  3. 录音转成文字 android,安卓手机自带的录音转文字功能这么强大,堪称会议神器!你会用吗...

    原标题:安卓手机自带的录音转文字功能这么强大,堪称会议神器!你会用吗 有的小伙伴在开会时经常需要录音,然后要对录音进行整理变成文字稿,每次都要花很多的时间和精力,难不成你还在傻傻的手动录入,别傻了!不 ...

  4. GPS获取到的经纬度,计算东西经,南北纬

    怎么根据经度或纬度,计算出是东经还是西经,是南纬还是北纬    我是用的LocationManager类直接获取的GPS信息 location.getLatitude();// 经度 location ...

  5. android 判断手机是否打开了允许模拟位置选项

    最近看到有人问 "怎么才能获取到 手机是否打开了 允许模拟位置"呢? 其实很简单,这些设置项,基本都是写在数据库里,所以只要看看setting的源码(或者查看logcat可能也可以 ...

  6. Android之手机定位方式(GPS定位,网络定位,基站定位)

    从前天学习GPS定位开始,这两天断断续续都在学习Android的三种基本定位方式. 1.GPS定位(基本Android机上都会有,缺点是必须在空旷的地方才有用) 2.网络定位(NetWork,这个很多 ...

  7. android调用手机自带计算器,Android实现简易的计算器

    本文实例为大家分享了Android实现简易的计算器的具体代码,供大家参考,具体内容如下 布局(activity_main.xml) xmlns:tools="http://schemas.a ...

  8. android 从手机自带图库选取图片作为应用背景图

    1.用intent打开系统图库 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.setType("image/*&q ...

  9. android 禁用手机自带的返回键

    只需要重写dispatchKeyEvent方法就可以了 @Overridepublic boolean dispatchKeyEvent(KeyEvent event) {if (event.getK ...

  10. 安卓手机自带铃声在什么位置,怎样自定义铃声

    root之后,用R.E管理器进入/system/media/audio,里面有四个文件夹, 分别是alarms(闹钟铃声),notifications(通知即短信铃声), ringtones(来电铃声 ...

最新文章

  1. 2010年5月21日 下雨了
  2. 为什么要继承Serializable类?
  3. [Python 多线程] Semaphore、BounedeSemaphore (十二)
  4. python链家网高并发异步爬虫asyncio+aiohttp+aiomysql异步存入数据
  5. 批量快速一键修改IP,掩码,网关,以及dns代码
  6. 浅谈前端实现页面加载进度条以及 nprogress.js 的实现
  7. OSG官方自带的例子程序简介
  8. 【2016年第1期】从政策驱动到技术践行:大数据开辟可持续发展研究新途径
  9. 前端中什么是中台开发环境_Web前端开发中需要学习什么?会使用到哪些开发工具?...
  10. [zz] 使用ssh公钥密钥自动登陆linux服务器
  11. C#设计模式学习(类型对象模式)
  12. windows 端口占用
  13. Ansible详解(十八)——Ansible使用小技巧
  14. 使用Kotlin创建动态Android TextWatcher
  15. c# u盘使用记录_用 C# 编写 USB 存储设备使用痕迹检测和删除工具
  16. 反向传播算法(代码笔记)
  17. 目前流行的装修风格_目前什么装修风格最流行?
  18. 移动硬盘和电脑内置硬盘使用时的区别
  19. python Ran out of input 异常解决
  20. 【渝粤教育】国家开放大学2018年秋季 1013t金融统计分析 参考试题

热门文章

  1. ASP(Answer Set Programming)编程入门
  2. 计算机职业素养论文1500字,职业素养论文1500字 [职业素养教育论文]
  3. Eclipse中使用SVN Eclipse配置SVN
  4. crazybox路由器解决授权码问题
  5. 黑莓7100T激活上网、彩信设置(转)
  6. C++之类和对象(三)
  7. 第一节 计算机硬件组成
  8. python 爬取百度日历
  9. 数字万用表怎么检查计算机,如何用数字万用表判断三极管是NPN还是PNP型
  10. Cartoon CG:卡通渲染(开篇)