如何解决FusedLocationProviderClient在Android 10中不起作用
我已使用FusedLocationProviderClient
通过以下请求检索了一次位置。
LocationRequest request = new LocationRequest();
request.setInterval(1000);
request.setNumUpdates(1);
request.setMaxWaitTime(2500);
request.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
我还应用了设置分辨率以启用GPS。一切正常即可正常进行。
但是,当我执行以下步骤时,该位置无法正常工作或花了超过3分钟的时间才能给出位置。
这是我的示例代码:-https://pastebin.com/zxVCMCPn
解决方法
这就是即时定位及其正常工作的方式。
//declare them universally //before on create
LocationRequest mLocationRequest;
LocationCallback mLocationCallback;
FusedLocationProviderClient fusedLocationProviderClient;
private void realLocation (){
if(liveloction){
locationrequestfunct();
if(mLocationPermissionGranted){
fusedLocationProviderClient.requestLocationUpdates(mLocationRequest,mLocationCallback,Looper.myLooper());
mMap.setMyLocationEnabled(true);
}
}
}
private void locationrequestfunct(){
mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(30000);
mLocationRequest.setFastestInterval(10000);
mLocationRequest.setPriority(LocationRequest.PRIORITY_LOW_POWER);
}
,它应该在oncreate中 //初始化位置//两者都应该在创建时
fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this);
//the call back will not work if is not in on create
mLocationCallback = new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
}
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。