【问题标题】:App location awareness in all contexts应用程序在所有情况下的位置感知
【发布时间】:2018-05-28 16:13:18
【问题描述】:

我需要让我的应用了解用户在 FG 和 BG 中运行的所有活动、片段和服务中的位置。此外,在中国也必须有位置,因此 Google Play 服务的 FusedLocation 似乎不是一个选项。

有没有一种方法可以让应用在不考虑上下文的​​情况下感知位置变化,而无需在每个 act/frag/serv 中创建侦听器并在生命周期中附加和分离?

【问题讨论】:

    标签: android google-play-services android-gps


    【解决方案1】:

    听起来你想extend the application class。通过这样做,可以公开全局变量和方法。抱歉,对于您的特定情况,该链接不是一个很好的示例,也许您可​​以找到更好的示例。更新清单中的标签 android:name=MyExtendedApplicationClass

    【讨论】:

    • 应用程序在后台运行时是否也可用?
    • 好点。您可以使用aidl 接口与服务进行通信,但这会复杂化而不是简化。 stackoverflow.com/questions/12381977/… 或从服务中获取应用程序上下文? Google location api是从ui线程调用的,对吗?所以我认为你不会有问题,但我可能是错的。无论如何都要考虑一下。
    【解决方案2】:

    对于您可以使用的中国地图, https://www.mapbox.com/

    注意:他们在 Play 商店中有一个测试应用,在使用 SDK 之前检查一下。

    要让您的应用在不使用样板代码的情况下感知位置,请查看 android 中的绑定服务。这些基本上是在后台运行的服务,并从它们启动的任何位置提供输出。

    查看android开发文档Bound Services中的代码示例。

    您可以拥有一个可以访问位置绑定服务的 BaseActivity。您剩余的活动可以从这个 BaseActivity 继承。我希望您能够弄清楚其余的问题,因为您的问题的确切代码太大而无法作为答案发布。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-26
      • 1970-01-01
      • 2014-09-22
      相关资源
      最近更新 更多