2015-04-17 135 views
14

这可能是一个非常常见的问题,但是必须有一种方法来以编程方式启用GPS,因为它只会在官方Google地图应用中发生,只需单击弹出屏幕上的“打开”选项(无需导航到位置设置)。 有人可以帮忙吗?以编程方式启用GPS(无导航到位置设置)

+1

请参阅此链接.. http://stackoverflow.com/questions/33251373/turn-on-location-services-without-navigating-to-settings-page – 2016-09-28 11:43:03

回答

4

这是因为他们在播放服务中使用Settings API,如Commonsware的答案中所述,这有点困难。您是与“旧”的方法更好:

Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); 
startActivity(intent); 
+0

权限拒绝:不允许发送广播android。 location.GPS_ENABLED_CHANGE 我错过了什么?我已经添加了权限。 – Abhilash

+0

他们没有将设置页面嵌入到弹出窗口中。绝对不。 –

+0

将用户重定向到丑陋的设置屏幕后,如何让用户回到您的应用?Google Maps的方式非常直观 - 但我想这不是一个开箱即用的组件吗? – mmcrae

13

的谷歌地图应用程序是使用什么现在是在游戏服务SDK 7.0.0的提供给我们as SettingsApi。您可以使用SettingsApi来查询您所需的LocationRequest是否可以使用任何位置提供程序启用。如果无法实现,并且Play Services认为用户可以更改此设置,则可以要求弹出“地图”显示对话框。

使用SettingsApi不是特别简单。我刚刚从my book的版本6.6发布了a sample app。正如Laurenswuyts的回答所建议的,使用ACTION_LOCATION_SOURCE_SETTINGS很多更容易实现。

+0

听起来很不错!让我试试看。 – Abhilash

+0

以下是SettingsApi的文档:https://developers.google.com/android/reference/com/google/android/gms/location/SettingsApi – Daan

相关问题