我正在开发一个Android应用程序,我需要知道Android设备的位置。我尝试的所有方法都需要启用GPS。如果未启用,我们可以要求用户通过打开设置意图将其打开。
有没有办法通过代码启用它,甚至不让用户知道..并在应用完成工作时关闭它?
我正在处理的应用程序将记录设备的位置。它将在后台运行,每隔15分钟记录一次位置。始终启用GPS将消耗大量电力。所以我想在我需要的时候打开它,当我完成时将其关闭,而不是询问用户。
答案 0 :(得分:1)
出于隐私原因,在没有设备生根的情况下永远不会。
未经同意,您无法获得用户的位置。
答案 1 :(得分:1)
有没有办法通过代码启用它,甚至不让用户知道..并在应用完成工作时关闭它?
幸运的是,不,出于明显的隐私和安全原因。
所以我想在需要时将其打开,在完成后将其关闭,而不要询问用户。
开启和关闭与启用和禁用不同。
仅仅因为用户已经允许GPS 启用并不意味着它正在吸引力。仅当应用程序请求位置数据时才会打开GPS无线电。因此,您无法启用 GPS(仅限用户可以),但如果已启用GPS,您可以安排开启GPS。当GPS开启时,用户仍会在状态栏中看到一个图标。
间谍应用程序和所有人如何做到这一点?
他们要求用户启用GPS。
答案 2 :(得分:1)
对于确切位置,您需要启用GPS。但是你可以使用NETWORK_PROVIDER,并获得纬度和经度。这不需要用户干预。但是,当然,它是一个近似的位置,但足以进行基于位置的搜索。
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,
locationListener);