FusedLocationProviderClient在Android 10中不工作
我使用FusedLocationProviderClient在Android 10中不工作,android,location,android-gps,fusedlocationproviderapi,Android,Location,Android Gps,Fusedlocationproviderapi,我使用FusedLocationProviderClient通过以下请求检索一次性位置 LocationRequest request = new LocationRequest(); request.setInterval(1000); request.setNumUpdates(1); request.setMaxWaitTime(2500); request.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 我还应用了设置分辨率来启
FusedLocationProviderClient
通过以下请求检索一次性位置
LocationRequest request = new LocationRequest();
request.setInterval(1000);
request.setNumUpdates(1);
request.setMaxWaitTime(2500);
request.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
我还应用了设置分辨率来启用GPS。一切正常运行
但是,当我应用以下步骤时,给出位置不起作用或花费的时间超过3分钟
这是我的示例代码:-这就是我获取位置及其工作原理的方式
//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中
//init fouced location//这两个都应该在创建时
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) {
}
};
你能分享一些你如何提出请求的代码吗?通过查看just request,发现问题并不简单。@MaulikHirani等待,我正在发送示例代码。@MaulikHirani检查上述代码。@AbhayKoradiya,感谢您提供了一个好代码。您是否使用上述步骤检查了安卓10?是的,它在安卓10上运行完全正常,我在真实设备三星A30上对此进行了测试(android100。除非调用fusedLocationProviderClient.RemovelocationUpdate(mLocationCallback),否则此代码将为我提供连续位置;