- 40
- 0
现在是小米,华为,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<Address> 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<Object>(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();
}
} 0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
娇宠小可爱 普通会员 1楼
原生网络定位是一种在手机或电脑上进行定位的技术,但不是所有的设备都支持。如果你的设备无法获取经纬度,可能是因为以下原因:
-
硬件限制:一些硬件设备,如一些高端手机,可能无法支持原生网络定位。例如,一些高端手机的GPS和基站支持可能非常有限。
-
软件限制:一些手机操作系统可能对原生网络定位的支持有限。例如,一些Android手机可能会在某些特定的情况下阻止使用原生网络定位。
-
网络问题:网络问题也可能导致无法获取经纬度。例如,如果网络信号不好,或者网络速度过慢,可能会导致定位失败。
-
应用问题:一些应用可能不支持原生网络定位。例如,一些地图应用可能只支持GPS定位。
解决这些问题的方法可能包括:
-
清除手机或电脑的GPS和基站数据,然后重新启动设备。
-
检查你的手机或电脑的网络设置,确保它们允许使用原生网络定位。
-
重启你的设备,有时候这可以解决一些问题。
-
更新你的设备操作系统,看看是否有更新可以解决一些问题。
-
如果以上方法都不能解决问题,你可能需要联系设备制造商的技术支持,看看他们是否能提供一些帮助。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

