我正在开发一个 android 应用程序,我需要知道 android 设备的位置。我尝试的所有方法都需要启用 GPS。如果未启用,我们可以通过打开设置意图来要求用户将其打开。
有没有办法通过代码启用它,甚至不让用户知道......并在应用程序完成其工作时将其关闭?
我正在开发的应用程序将记录设备的位置。它将在后台运行,并每 15 分钟记录一次位置。一直保持 GPS 开启会消耗大量电量。因此,我想在需要时打开它,并在完成时将其关闭,而无需询问用户。
我正在开发一个 android 应用程序,我需要知道 android 设备的位置。我尝试的所有方法都需要启用 GPS。如果未启用,我们可以通过打开设置意图来要求用户将其打开。
有没有办法通过代码启用它,甚至不让用户知道......并在应用程序完成其工作时将其关闭?
我正在开发的应用程序将记录设备的位置。它将在后台运行,并每 15 分钟记录一次位置。一直保持 GPS 开启会消耗大量电量。因此,我想在需要时打开它,并在完成时将其关闭,而无需询问用户。
出于隐私原因,如果不植根设备,这将永远不可能。
未经同意,您无法获取用户的位置。
有没有办法通过代码启用它,甚至不让用户知道......并在应用程序完成其工作时将其关闭?
幸运的是,不,出于明显的隐私和安全原因。
因此,我想在需要时打开它,并在完成时将其关闭,而无需询问用户。
开启和关闭与启用和禁用不同。
仅仅因为用户允许启用GPS并不意味着它正在消耗电力。只有当应用程序请求位置数据时,GPS 无线电才会打开。因此,您无法启用GPS(只有用户可以),但如果启用了 GPS,您可以安排将其打开。当 GPS 打开时,用户仍会在状态栏中看到一个图标。
那么间谍应用程序是如何做到的呢?
他们要求用户启用 GPS。
要获得准确的位置,您需要启用 GPS。但是您可以使用NETWORK_PROVIDER,并获取纬度和经度。这不需要用户干预。但是,当然,它是一个大概的位置,但足以进行基于位置的搜索。
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,
locationListener);