【发布时间】:2021-05-08 23:37:11
【问题描述】:
从过去几天开始,我一直在寻找解决方案,但找不到任何解决方案。我正在处理一种情况,即为 android 9+ 关闭了 google 位置精度,然后应用程序应提示用户打开位置精度。
面临的问题:
如果 (statusCode == LocationSettingsStatusCodes.RESOLUTION_REQUIRED) 是否可以直接导航到设备的谷歌位置准确度屏幕(看起来很困难)。 或自定义由谷歌服务库提示的对话框(我认为这是不可能的)。任何想法将不胜感激。
下面是sn-p。
mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(UPDATE_INTERVAL);
mLocationRequest.setFastestInterval(UPDATE_INTERVAL);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder();
builder.addLocationRequest(mLocationRequest);
mLocationSettingsRequest = builder.build(); mSettingsClient.checkLocationSettings(mLocationSettingsRequest).addOnSuccessListener(mActivity,
new OnSuccessListener<LocationSettingsResponse>() {
@Override
public void onSuccess(LocationSettingsResponse locationSettingsResponse) {
mFusedProviderClient.requestLocationUpdates(mLocationRequest, mLocationCallback, Looper.myLooper()).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
}
});
}
}).addOnFailureListener(mActivity, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
int statusCode = ((ApiException) e).getStatusCode();
if(statusCode == LocationSettingsStatusCodes.RESOLUTION_REQUIRED){
//Location settings not satisfied.
try {
ResolvableApiException resolvable = (ResolvableApiException) e;
resolvable.startResolutionForResult(
mActivity,
LOCATION_REQUEST);
} catch (IntentSender.SendIntentException ex) {
}
} else {
}
}
});
【问题讨论】:
标签: android location android-gps google-location-services