对同一供应商使用多个LocationManager requestLocationUpdates(...)

问题描述:

我有一个位置服务在我的应用程序的后台运行,其中requestLocationUpdates(LocationManager.GPS_PROVIDER, 5*60*1000 , 1, this)每5分钟获取一次位置更新。在一个特定的活动中,我需要更频繁的更新。我是否可以创建另一个LocationManager并为此活动中的相同提供者注册另一个requestLocationUpdates侦听器,如下所示?对同一供应商使用多个LocationManager requestLocationUpdates(...)

locManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE); 
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 100, 1, this); 

我试着和它似乎工作,但我想,以确保它不会创建一个后台服务的任何冲突...

不要担心。在引擎盖下,只有一个GPS位置提供程序实例以您设置的那两次的最小频率运行。

需要注意的一点是您设置的间隔时间为100毫秒。我认为1秒更新是您可以为大多数GPS芯片组设置的最小时间间隔。