2015-04-20 33 views
0

我正在尝试使用GooglePlayServices的新SettingsApi(https://developer.android.com/reference/com/google/android/gms/location/SettingsApi.html)来检测是否需要更改用户设置而不退出应用程序。如何使用GooglePlayServices上新的SettingsApi请求“高精度”位置?

我的问题是对话框出现,但它只是说它将需要Wifi和互联网访问位置。我也希望它请求GPS(这是高精度模式或仅设备模式)。

我对获得LocationSettingsRequest代码:

public static LocationSettingsRequest getHighPriorityLocationSettingsRequest() { 
     LocationRequest locationRequest = LocationRequest.create(); 
     locationRequest.setFastestInterval(FASTEST_INTERVAL); 
     locationRequest.setInterval(UPDATE_INTERVAL_ACTIVE); 
     locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 

     return new LocationSettingsRequest.Builder() 
       .addLocationRequest(locationRequest) 
       .setAlwaysShow(true) 
       .build(); 
    } 

谢谢!

+0

'FASTEST_INTERVAL'和'UPDATE_INTERVAL_ACTIVE'的值是什么? –

+0

您是否已经为该设备启用GPS,或者它是否也被禁用? – ianhanniballake

+0

您是否在您的Manifest申请了ACCESS_FINE_LOCATION权限? – cygery

回答

0

该对话框只列出更改需要将您的位置设置为更优化的状态。因此,它不会问你的GPS时:

  • GPS不可用您的设备上,或
  • GPS已经开启。

顺便说一下,FASTEST_INTERVALUPDATE_INTERVAL_ACTIVE都不会影响该对话框。