【问题标题】:Get location of android device automatically自动获取安卓设备的位置
【发布时间】:2013-03-17 17:50:28
【问题描述】:

我正在开发一个 android 应用程序,我需要知道 android 设备的位置。我尝试的所有方法都需要启用 GPS。如果没有开启,我们可以通过打开设置intent让用户开启。

有没有办法通过代码启用它,甚至不让用户知道......并在应用完成其工作时将其关闭?

我正在开发的应用程序将记录设备的位置。它将在后台运行,并每 15 分钟记录一次位置。一直保持 GPS 开启会消耗大量电量。所以我想在需要时打开它,完成后关闭它,而不需要询问用户。

【问题讨论】:

    标签: android geolocation android-location


    【解决方案1】:

    要获得准确的位置,您需要启用 GPS。但是您可以使用NETWORK_PROVIDER,并获取纬度和经度。这不需要用户干预。但是,当然,它是一个大概的位置,但足以进行基于位置的搜索。

    lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,
                locationListener);
    

    【讨论】:

      【解决方案2】:

      出于隐私原因,如果不植根设备,这将永远是不可能的。

      未经同意,您无法获取用户的位置。

      【讨论】:

      • @bugsbunny 拜托对那些拥有 290 K 声望而你只有 46 没有 290 本身的人尊重?
      • @AndroidKiller 名誉无所谓
      【解决方案3】:

      有没有办法通过代码启用它,甚至不让用户知道......并在应用完成工作后将其关闭?

      幸运的是,没有,出于明显的隐私和安全原因。

      所以我想在需要的时候打开它,完成后关闭它,而不需要询问用户。

      开启和关闭不等于启用和禁用。

      仅仅因为用户允许 GPS启用并不意味着它正在消耗能量。只有当应用程序请求位置数据时,GPS 无线电才会打开。因此,您不能启用 GPS(只有用户可以),但如果 GPS 已启用,您可以安排将其打开。当 GPS 开启时,用户仍会在状态栏中看到一个图标。

      间谍应用程序是如何做到的呢?

      他们要求用户启用 GPS。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-19
        • 2016-10-15
        • 2018-02-11
        • 1970-01-01
        相关资源
        最近更新 更多