未启用位置服务时检索GPS坐标

时间:2012-11-21 10:10:57

标签: android

假设设备的“使用无线网络”和“使用GPS卫星”设置未启用,是否仍可以检索位置坐标。

目前,最好是将用户重定向到设置页面未启用。我发现这种破坏性需要离开应用程序。

如果我没弄错的话,您可以通过编程方式启用设置(我是否正确?)。

我不需要精确的坐标,是否可以在未启用设置的情况下获取手机信号塔ID?

提前致谢

5 个答案:

答案 0 :(得分:1)

没有。如果用户不想给你他的位置,你就无法获得他的位置。

这是一项安全措施,存在的原因很充分。如果您尝试颠覆此问题,您的应用将被视为恶意应用。

将用户重定向到设置页面是最佳选择。

答案 1 :(得分:0)

以编程方式设置任何内容而不首先询问用户是不好的做法。

您可以做的是,如果您无法获取位置,请让用户打开GPS或告诉他您的应用无法正常工作并将关闭。

答案 2 :(得分:0)

在没有用户同意的情况下以编程方式打开位置设置是不可能的,更不用说不好的做法您可以提示用户并指示他打开位置设置,或者如果您编程跟踪设备用户的进度,您可以让程序发送某种警报,告诉他们位置设置已关闭。

答案 3 :(得分:0)

同意 - 在Android的早期版本中,您可以以编程方式打开GPS - 但更新的版本不允许这种情况发生。 正如Anup所说 - 现在普遍接受的做法是将用户重定向到选项页面,并允许用户选择允许应用程序使用的GPS的类型和性质。

别忘了,你不需要“离开应用程序”让用户打开GPS,你可以自己将它们发送到设置:

startActivityForResult(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS), 0);

这将返回到您停止使用的应用程序 - 为用户提供无缝体验,以及他们将从其他Android应用程序熟悉的应用程序。

答案 4 :(得分:0)

Deep dive into location为Android的LocationManager提供了一套最佳做法。您不需要激活GPS - 在许多情况下,移动网络本身可以提供非常好的近似位置,而无需占用额外的电池。