【发布时间】:2019-01-05 09:57:44
【问题描述】:
我有一个使用谷歌地图当前位置获取用户位置的网络视图 android 应用程序,当用户单击一个图标时,我正在调用本机函数来访问 gps,问题是当使用离线 GPS 打开应用程序时,然后点击图标,它会在 GPS 上询问,当按下 ok 时什么都不会发生,即使再次点击图标仍然不会发生任何事情,除非关闭应用程序并再次打开它才会起作用,请帮助它真的让我发疯了.. .
public void location_request()
{
final LocationRequest locationRequest = LocationRequest.create();
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationRequest.setInterval(30 * 1000);
locationRequest.setFastestInterval(5 * 1000);
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
.addLocationRequest(locationRequest);
builder.setAlwaysShow(true);
GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(MainActivity.this)
.addApi(LocationServices.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this).build();
mGoogleApiClient.connect();
PendingResult<LocationSettingsResult> result =
LocationServices.SettingsApi.checkLocationSettings(mGoogleApiClient, builder.build());
result.setResultCallback(new ResultCallback<LocationSettingsResult>() {
@Override
public void onResult(LocationSettingsResult result) {
final Status status = result.getStatus();
final LocationSettingsStates state = result.getLocationSettingsStates();
switch (status.getStatusCode()) {
case LocationSettingsStatusCodes.SUCCESS:
//The client can initialize location
break;
case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
// Location settings are not satisfied.
try {
status.startResolutionForResult(MainActivity.this, REQUEST_CHECK_SETTINGS);
} catch (IntentSender.SendIntentException e) {
// Ignore the error.
}
break;
case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
break;
}
}
});
}
【问题讨论】:
-
您是否添加了适当的权限?
-
是的,它没有权限问题,因为如果 GPS 处于开启状态或刷新页面,那么它将起作用..
标签: java android google-maps gps