我需要让我的应用了解用户在FG和BG中运行的所有活动,片段和服务中的位置。此外,在中国也必须有位置,因此Google Play服务的FusedLocation似乎不是一种选择。
有没有办法让应用程序知道位置更改,无论上下文如何,而不是在每个act / frag / serv中创建一个监听器,以及在生命周期中附加和分离?
答案 0 :(得分:0)
听起来像是extend the application class。通过这样做,可以暴露全局变量和方法。对不起,这个链接对你的特定情况来说不是一个很好的例子,也许你可以找到更好的例子。更新清单android:name = MyExtendedApplicationClass
中的标记答案 1 :(得分:0)
对于中国的地图,您可以使用, https://www.mapbox.com/。
注意:他们在Play商店有一个测试应用程序,在使用SDK之前检查一下。
要在不使用样板代码的情况下识别您的应用位置,请查看android中的绑定服务。这些基本上是在后台运行的服务,并从它们开始的任何地方提供输出。
看一下android develop docs Bound Services中的代码示例。
您可以拥有可以访问位置绑定服务的BaseActivity。您剩余的活动可以继承此BaseActivity。我希望你能够弄清楚其余部分,因为你的问题的完整代码太大了,不能作为答案发布。