Android GPS-初始化一次并在整个应用程序中使用它

时间:2011-08-23 11:52:40

标签: android

在我的应用程序中,我需要所有Activity中的新gps坐标。我不想在我的所有活动中初始化gps函数,或者不想保留静态引用(至于我的观点,这不是最佳实践)。

我需要的是。

1)初始化gps功能一次,并在整个应用程序中使用它。      有没有办法解决我的问题

2 个答案:

答案 0 :(得分:0)

您可以查看LocationManager类的PASSIVE_PROVIDER常量:http://developer.android.com/reference/android/location/LocationManager.html#PASSIVE_PROVIDER

它允许您在应用程序的其他位置接收将通过其他提供商(GPS,网络...)检索的位置,而无需在设备上进行太多额外的工作。

答案 1 :(得分:0)

您可以创建一个始终运行的服务来跟踪GPS数据。每次调用onPause时,它都会启动1分钟计数器(例如),直到它禁用GPS监视器。然后onResume将取消倒计时,以便保持GPS数据,或者开始收听GPS位置。

此方法可让您的应用拥有相同的GPS数据,同时不会过度耗尽电池(因为在不使用应用时GPS会关闭)。

仅选择分钟长倒计时,因为用户可能会暂时退出您的应用,然后再次打开它。