android 小米定位失败怎么办,使用原生网络定位,部分机型无法获取经纬度该怎么解决?...
现在是小米,华为,vivo可以,锤子坚果pro2不行,下面是代码:
public class FinishedContractActivity extends BaseActivity implements LocationListener {
private BottomSheetDialog mCheckSignDialog;
private BottomSheetDialog mSignProcessDialog;
private CheckSignBean checkSignBean;
private SignProcessBean signProcessBean;
private SealPresenter mPresenter = new SealPresenter(this);
private LocationManager locationManager;
//省略部分无关代码...
@SuppressLint("MissingPermission")
@Override
protected void initView(Bundle savedInstanceState) {
boolean deviceRooted = DeviceUtils.isDeviceRooted();//是否root
if (!deviceRooted) {
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates("network", 0, 0, this);
}
mToolbar.setVisibility(View.GONE);
ImmersionBar.with(this).titleBar(toolbar).init(); //适配刘海屏,自动设置状态栏距离和沉浸式状态栏
StatusBarUtil.setAndroidNativeLightStatusBar(this, true); //设置状态栏字体颜色
String id = getIntent().getStringExtra("id");
String contractName = getIntent().getStringExtra("contractName");
mContractName.setText(contractName);
mTitle.setText(contractName.replace(".pdf", ""));
int playAudio = getIntent().getIntExtra("playAudio", 0);
if (playAudio == 1) {
playingmusic(1);
}
}
@Override
public void onLocationChanged(Location location) {
double latitude = location.getLatitude();//获取纬度
double longitude = location.getLongitude();//获取经度
String strLatitude = String.valueOf(latitude);
String strLongitude = String.valueOf(longitude);
if (strLatitude != null && strLatitude != "") {
double longti = Double.parseDouble(strLongitude);
double latitu = Double.parseDouble(strLatitude);
getAddress(longti, latitu);
locationManager.removeUpdates(this);
}
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
public String getAddress(double lnt, double lat) {
Geocoder geocoder = new Geocoder(this);
boolean falg = geocoder.isPresent();
StringBuilder stringBuilder = new StringBuilder();
try {
//根据经纬度获取地理位置信息---这里会获取最近的几组地址信息,具体几组由最后一个参数决定
List
addresses = geocoder.getFromLocation(lat, lnt, 1);if (addresses.size() > 0) {
Address address = addresses.get(0);
for (int i = 0; i < address.getMaxAddressLineIndex(); i++) {
//每一组地址里面还会有许多地址。这里我取的前2个地址。xxx街道-xxx位置
if (i == 0) {
stringBuilder.append(address.getAddressLine(i)).append("-");
}
if (i == 1) {
stringBuilder.append(address.getAddressLine(i));
break;
}
}
String country = address.getCountryName();// 国家
String province = address.getAdminArea();//省
String city = address.getLocality();//市
String area = address.getSubLocality();//区
String street = address.getFeatureName();//详细地址
String id = getIntent().getStringExtra("id");
LogUtils.d("1054 id="+id+" 经度"+lnt+" 纬度"+lat+" 国家"+country+" 省"+province+" 市"+
city+" 区"+area+" 详细"+street);
//提交位置信息
LocationBody locationBody=new LocationBody(id,String.valueOf(lnt),String.valueOf(lat),country,province,city,area,street);
GlobalBody body = CustomEncryptUtil.customEncrypt(locationBody);
RxManager.getMethod().location(body).compose(RxUtil.schedulers(FinishedContractActivity.this))
.subscribe(new RxCallback(FinishedContractActivity.this) {
@Override
public void onSuccess(Object o, String msg) {
LogUtils.d("1108 提交地理位置信息成功");
}
});
return currentLocation;
}
} catch (IOException e) {
LogUtils.d("定位失败");
e.printStackTrace();
}
return stringBuilder.toString();
}
}
android 小米定位失败怎么办,使用原生网络定位,部分机型无法获取经纬度该怎么解决?...相关推荐
- 高德h5定位误差_#高德地图api移动端定位失败解决方案 #H5 原生Geollocation接口Chomre浏览器的坑...
侧重:本文探索了 http 协议下,pc + 移动端定位解决方案 IOS版本: ios14 原生Geolocation 接口: Document Show my location function g ...
- 【Android FFMPEG 开发】FFMPEG ANativeWindow 原生绘制 ( 设置 ANativeWindow 缓冲区属性 | 获取绘制缓冲区 | 填充数据到缓冲区 | 启动绘制 )
文章目录 I . FFMPEG ANativeWindow 原生绘制 前置操作 II . FFMPEG 原生绘制流程 III . 设置 ANativeWindow 绘制窗口属性 ANativeWind ...
- Android开发实战《手机安全卫士》——5.“高级工具”模块实现 获取经纬度 锁屏 卸载
文章目录 1.手机防盗--接收短信播放音乐 2.手机防盗--定位方式 3.手机防盗--获取经纬度坐标 4.手机防盗--设备管理器使用 5.手机防盗--锁屏 & 数据清除 & 卸载 6. ...
- 小米max2 原生 android,小米Max 2用户类原生系统福利:第三方开发者为其适配LineageOS...
感谢IT之家网友 王浩哲 的线索投递 IT之家7月14日消息 如果你是小米Max 2的用户,又是类原生系统的爱好者,那这对你来说可能是个好消息,近日,来自MIUI论坛的 @王浩哲M3 为小米Max 2 ...
- Max3成功刷入原生Android,小米Max 2用户类原生系统福利:第三方开发者为其适配LineageOS...
感谢IT之家网友 王浩哲 的线索投递 IT之家7月14日消息 如果你是小米Max 2的用户,又是类原生系统的爱好者,那这对你来说可能是个好消息,近日,来自MIUI论坛的 @王浩哲M3 为小米Max 2 ...
- 小米note2 刷android,小米Note2 安卓9.0 原生体验 LineageOS16.0 ROOT
介绍 ROM为第三方编译安卓9.0 LineageOS16.0 ,基本功能正常,如有其他bug,理性对待 使用Magisk ROOT授权 刷机完成后请务必到设置中手动设置当前系统时间和时区 去网络图标 ...
- Android网络定位实现
1.引言 目前LBS((Location Based Service)的应用越来越多,基本占据手机应用的半壁江山.很多说到定位,就立马想到了GPS和中国的北斗.没错,卫星导航系统确实可以给我们精确的定 ...
- android 高德地图定位获取经纬度
android 高德地图定位获取经纬度 之前开发定位都是集成百度的,领导说要用高德的,没办法干吧,官方的文档太详细了看着真累. 我们得先去官网注册开发者账号,创建应用,填写自己项目的包名和SHA1, ...
- python xpath定位不到_Xpath定位方法深入探讨及元素定位失败常见情况
一.Xpath定位方法深入探讨 (1)常用的Xpath定位方法及其特点 使用绝对路径定位元素. 例如: driver.findElement(By.xpath("/html/body/div ...
最新文章
- leetCode刷题 2. 两数相加
- WinAPI: Arc - 绘制弧线
- 使用jq.lazyload.js,解决设置loading图片的问题
- luogu P1199 【三国游戏】
- C语言 指针在函数传参中的使用
- 汇编loop指令及用法解释
- 电脑用linux命令大全,电脑操作时常用的一些Linux命令
- python3库查看调用_Python 3 中调用 COM 的库文件 | 学步园
- (转载)c/c++笔试面试题(2)
- php设计模式之责任链模式
- 怎么样使用Badboy工具录制JMeter脚本
- js 表格动态增加行通用函数
- 2008中国优秀无线互联网站点50强
- 81章 老子1章到_老子81章
- 大数据计算技术架构解析
- 操作系统/LINUX/数据库/算法/设计模式/HR面试题集锦
- 10.HTML标题标记
- 烦立停:过度营销的孙宇晨输给了一个结石
- 2022衢州江山农商银行春季招聘考前冲刺题及答案
- java音频解析_实例解析使用Java实现基本的音频播放器的编写要点