以 Android 编程方式启用 GPS(无需导航到位置设置)

Posted

技术标签:

【中文标题】以 Android 编程方式启用 GPS(无需导航到位置设置)【英文标题】:Enable GPS programmatically Android (without navigating to the location settings) 【发布时间】:2015-06-24 05:13:25 【问题描述】:

如何以编程方式启用 GPS,就像在官方 Google 地图应用中发生的那样,只需单击弹出屏幕上的“打开”选项(无需导航到位置设置)?

【问题讨论】:

请参考此链接..***.com/questions/33251373/… 【参考方案1】:

Google 地图应用正在使用我们现在可用的 as SettingsApi Play 服务 SDK。您可以使用SettingsApi 来查询您想要的LocationRequest 是否可以通过启用任何位置提供程序来实现。如果无法实现,并且 Play Services 认为用户可以更改此设置,您可以要求弹出您看到地图显示的对话框。

使用SettingsApi 并不是特别简单。这里是a sample app。正如 Laurenswuyts 的回答中所建议的那样,使用 ACTION_LOCATION_SOURCE_SETTINGS 实现起来要简单得多

【讨论】:

这里是 SettingsApi 的文档:developers.google.com/android/reference/com/google/android/gms/…【参考方案2】:

那是因为他们在 Commonsware 的回答中描述的播放服务中使用了Settings API,这有点困难。您最好使用“旧”方法:

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

【讨论】:

权限被拒绝:不允许发送广播 android.location.GPS_ENABLED_CHANGE 我错过了什么?我已经添加了权限。 他们没有将设置页面嵌入到弹出窗口中。绝对不是。 在将用户重定向到丑陋的设置屏幕后,如何让用户回到您的应用程序?.. 谷歌地图的方式非常直观 - 但我想这不是开箱即用的组件? 这不能回答问题。这是解决这个问题的传统方式,创作者正在寻找最新的方式。 你可以在这里找到答案***.com/questions/29744257/…

以上是关于以 Android 编程方式启用 GPS(无需导航到位置设置)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 中以编程方式启用禁用 GPS? [复制]

如何在Android上以编程方式启用或禁用GPS?

如何在Android 6.x上以编程方式启用或禁用GPS?

Android - 以编程方式打开或关闭 GPS

像 Ola Cabs Android 应用程序一样以编程方式打开 GPS

谷歌地图以编程方式启用 GPS?