android根据经纬度获取位置,Android获取经纬度
通过Android的原生api获取经纬度;
一些文章都是通过mLocationManager.getProviders,getLastKnownLocation来获取的,但是在一些手机上总是为空。
例如:在一些手机Android 5.0(api21 联想手机)上getLastKnownLocation获取总为空。
可以通过getBestProvider来获取provider然后通过getLastKnownLocation获取得到经纬度。
private Location getLastKnownLocation() {
//获取地理位置管理器
LocationManager mLocationManager = (LocationManager) getApplicationContext().getSystemService(LOCATION_SERVICE);
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
&& ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO:去请求权限后再获取
return null;
}
List providers = mLocationManager.getProviders(true);
Location bestLocation = null;
for (String provider : providers) {
Location l = mLocationManager.getLastKnownLocation(provider);
if (l == null) {
continue;
}
if (bestLocation == null || l.getAccuracy() < bestLocation.getAccuracy()) {
bestLocation = l;
}
}
// 在一些手机5.0(api21)获取为空后,采用下面去兼容获取。
if (bestLocation==null){
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
String provider = mLocationManager.getBestProvider(criteria, true);
if (!TextUtils.isEmpty(provider)){
bestLocation = mLocationManager.getLastKnownLocation(provider);
}
}
return bestLocation;
}
// 使用
Location location = getLastKnownLocation();
LogUtils.d(TAG, "有位置权限-纬度:" + location.getLatitude() + " 经度:" + location.getLongitude());
android根据经纬度获取位置,Android获取经纬度相关推荐
- Android 获取位置信息(经纬度)(附代码)
获取位置信息主要通过GPS和网络位置两种方法,优先级还是GPS,有点就不多说了,下面说一下我做的方法及附代码,有疑问可在下方留言. 思路便是GPS优先,但在GPS信号弱的情况下采取拿网络位置来弥补的方 ...
- android自动获取位置,Android中获取当前位置信息
这篇教程主要介绍了在Android平台上如何使用服务完成定位功能.众所周知,Android设备的当前位置信息,对开发创新性App.解决人们日常生活问题有极大帮助.在Android平台开发定位相关的应用 ...
- 百度定位实时获取位置android,通过百度定位sdk获取实时位置
之前有一片关于基站定位的文章,当时的测试环境是小米+移动,比较顺利. 但在实际运用中就出现问题了-联通和电信的号完全没办法定位! 最好的解决方法就是用第三方sdk来定位了. 百度的定位sdk还是很不错 ...
- android仿微信发送位置,Android仿微信发送位置-百度地图
[实例简介] [实例截图] [核心代码] package com.chenxuxu.baiduwechatposition; import android.app.Activity; import a ...
- android软件查找号码位置,如何在Android中通过GPS获取位置时获取卫星名称或号码?...
locationManager.getGpsStatus(null).getSatellites()(调用者可以传入GpsStatus对象以使用最新状态信息进行设置,也可以传递null以创建新的Gps ...
- android linux应用安装位置,Android中App安装位置详解
Android应用可以安装在本机自带存储,同时也可以安装到外部存储(SD卡).自从API 8后也就是Android2.2后,我们能使APK安装到外部存储上.这是一个可选的特性,在工程的manifest ...
- android 动画后的位置,Android:Comp之后会重置动画位置
Android:Comp之后会重置动画位置 我正在使用xml定义的动画将视图滑出屏幕. 问题是,动画完成后,它将立即重置为其原始位置. 我需要知道如何解决这个问题. 这是xml: 这是我用来调用它的J ...
- android toast怎么改变位置,Android 更改 Toast 的默认位置方法
Android中Toast的默认位置在屏幕靠近底部的位置,这个默认位置有时候并不合适.比如页面上内容较少时,内容一般集中在屏幕上半部分,用户的注意力也集中在屏幕上半部分,默认位置的Toast用户可能没 ...
- android layout后还原位置,Android图片框架photoview如何记住所有状态并还原,包括缩放度,缩放后的移动的距离等等...
Android图片框架photoview如何记住状态并还原,包括缩放度,缩放后的移动的距离等等,尝试了好多方法都没有作用. private void generateImages() { for (i ...
- android 置顶窗口位置,Android 滑动悬浮置顶指南
我自己的xml代码,加上一些理解后的注释 xmlns:tools="http://schemas.android.com/tools" xmlns:app="http:/ ...
最新文章
- 从HelloWorld看Knative Serving代码实现
- Java vararg(动态参数)的应用
- 【设计模式】原型模式 ( 浅拷贝 | 深拷贝 | 原型与单例冲突 | 禁用 final )
- 中科院教授:科技界已几乎沦为名利场...
- 02022_System类的方法练习
- 大连市2011年初中毕业升学考试试测(一)数 学
- Windows Azure Cloud Service (25) 使用Startup注册COM组件(下)
- android 多次点击事件,Android按钮onclick事件在多次单击后激发
- Minitab散点图技巧
- Go语言web开发学习
- Hadoop实战第2版 - 电子书下载(高清版PDF格式+EPUB格式)
- 神棍节献礼之——TJU1111 MPI Maelstrom(最短路)
- 什么是数据分层,数据分层的作用!
- java 首字母大写方法
- Web前端开发是做什么的?学Web前端有前途吗?
- 改计算机名后ansys打不开,更改计算机名后 Ansys重新注册的简单办法 20140611.pdf
- springboot 使用熔断器
- Clickhouse副本与分片
- 心理软件测试自学,软件测试的心理定势
- Java html转图片