现在是小米,华为,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 小米定位失败怎么办,使用原生网络定位,部分机型无法获取经纬度该怎么解决?...相关推荐

  1. 高德h5定位误差_#高德地图api移动端定位失败解决方案 #H5 原生Geollocation接口Chomre浏览器的坑...

    侧重:本文探索了 http 协议下,pc + 移动端定位解决方案 IOS版本: ios14 原生Geolocation 接口: Document Show my location function g ...

  2. 【Android FFMPEG 开发】FFMPEG ANativeWindow 原生绘制 ( 设置 ANativeWindow 缓冲区属性 | 获取绘制缓冲区 | 填充数据到缓冲区 | 启动绘制 )

    文章目录 I . FFMPEG ANativeWindow 原生绘制 前置操作 II . FFMPEG 原生绘制流程 III . 设置 ANativeWindow 绘制窗口属性 ANativeWind ...

  3. Android开发实战《手机安全卫士》——5.“高级工具”模块实现 获取经纬度 锁屏 卸载

    文章目录 1.手机防盗--接收短信播放音乐 2.手机防盗--定位方式 3.手机防盗--获取经纬度坐标 4.手机防盗--设备管理器使用 5.手机防盗--锁屏 & 数据清除 & 卸载 6. ...

  4. 小米max2 原生 android,小米Max 2用户类原生系统福利:第三方开发者为其适配LineageOS...

    感谢IT之家网友 王浩哲 的线索投递 IT之家7月14日消息 如果你是小米Max 2的用户,又是类原生系统的爱好者,那这对你来说可能是个好消息,近日,来自MIUI论坛的 @王浩哲M3 为小米Max 2 ...

  5. Max3成功刷入原生Android,小米Max 2用户类原生系统福利:第三方开发者为其适配LineageOS...

    感谢IT之家网友 王浩哲 的线索投递 IT之家7月14日消息 如果你是小米Max 2的用户,又是类原生系统的爱好者,那这对你来说可能是个好消息,近日,来自MIUI论坛的 @王浩哲M3 为小米Max 2 ...

  6. 小米note2 刷android,小米Note2 安卓9.0 原生体验 LineageOS16.0 ROOT

    介绍 ROM为第三方编译安卓9.0 LineageOS16.0 ,基本功能正常,如有其他bug,理性对待 使用Magisk ROOT授权 刷机完成后请务必到设置中手动设置当前系统时间和时区 去网络图标 ...

  7. Android网络定位实现

    1.引言 目前LBS((Location Based Service)的应用越来越多,基本占据手机应用的半壁江山.很多说到定位,就立马想到了GPS和中国的北斗.没错,卫星导航系统确实可以给我们精确的定 ...

  8. android 高德地图定位获取经纬度

    android 高德地图定位获取经纬度 之前开发定位都是集成百度的,领导说要用高德的,没办法干吧,官方的文档太详细了看着真累. 我们得先去官网注册开发者账号,创建应用,填写自己项目的包名和SHA1, ...

  9. python xpath定位不到_Xpath定位方法深入探讨及元素定位失败常见情况

    一.Xpath定位方法深入探讨 (1)常用的Xpath定位方法及其特点 使用绝对路径定位元素. 例如: driver.findElement(By.xpath("/html/body/div ...

最新文章

  1. leetCode刷题 2. 两数相加
  2. WinAPI: Arc - 绘制弧线
  3. 使用jq.lazyload.js,解决设置loading图片的问题
  4. luogu P1199 【三国游戏】
  5. C语言 指针在函数传参中的使用
  6. 汇编loop指令及用法解释
  7. 电脑用linux命令大全,电脑操作时常用的一些Linux命令
  8. python3库查看调用_Python 3 中调用 COM 的库文件 | 学步园
  9. (转载)c/c++笔试面试题(2)
  10. php设计模式之责任链模式
  11. 怎么样使用Badboy工具录制JMeter脚本
  12. js 表格动态增加行通用函数
  13. 2008中国优秀无线互联网站点50强
  14. 81章 老子1章到_老子81章
  15. 大数据计算技术架构解析
  16. 操作系统/LINUX/数据库/算法/设计模式/HR面试题集锦
  17. 10.HTML标题标记
  18. 烦立停:过度营销的孙宇晨输给了一个结石
  19. 2022衢州江山农商银行春季招聘考前冲刺题及答案
  20. java音频解析_实例解析使用Java实现基本的音频播放器的编写要点

热门文章

  1. 基于Prompt的MLM文本分类
  2. ITMS常见问题汇总以及解决方案
  3. Excel下2048的实现
  4. python安装出错运行不了_安装python失败是什么原因?
  5. oracle stalestats_dbms_stats.gather_schema_stats的GATHER STALE选项
  6. HTML5游戏从轻度转向中重度-9秒学院
  7. macOS 如何分屏 Mac
  8. 服务器硬盘和外储硬盘接口,服务器硬盘和普通硬盘有什么区别?
  9. 013:魔兽世界之一:备战
  10. 最健康的作息时间表与建议