程序员人生 网站导航

解决“locationManager.removeUpdates()关闭不了gps定位”的方法

栏目:综合技术时间:2014-12-08 08:45:30

转载请注明出处,谢谢http://blog.csdn.net/harryweasley/article/details/41575731

最近做1个gps项目的中途,遇到了1个问题,我调用locationManager.removeUpdates(listener)这个方法后,本以为gps定位就会停止,但是并没有停止gps定位功能,gps信号栏里的还是继续在闪烁,以后就各种百度,也找不到正确的解决方法,然后又去翻墙继续谷歌,终究找到了解决方法,在此记录1下,帮助那些由于这个问题困惑的人。

首先,让我们温习1下正确关闭gps的3个步骤:

第1个步骤:

移除LocationListener

第2个步骤:

将LocationManager置为null

第3个步骤:

将LocationListener置为null


下面是正确关闭gps的代码,名字是由你自己定的

if(_locationManager != null){ _locationManager.removeUpdates(<span style="font-family: Arial, Helvetica, sans-serif;">_locationListener</span>); _locationManager = null; } if(_locationListener != null) { _locationListener = null; }
如果这些步骤不起作用,你的gps信号还是在闪烁的话,下面有潜伏的两个问题来解决:

第1个缘由:这个是最多见,也是最使人懊丧的缘由了。你可能成心或无意的实例化了多个LocationManager。最简单的避免这个毛病的方法是,将实例LocationManager这个代码放在onResume()事件里面,同时在onPause()方法中关闭它。仔细的控制被你打开的LocationManager并及时关闭它。当你在不同的Activity之间LocationManager,你1定要留意。如果LocationManager正在运行,你又实例化了1个,那末你将不能够如愿用代码关闭它,你就只能通过手动来关闭它。

第2个缘由:多是你手机上的其他的APP已致使这个LocationManager运行中,那末很明显,它将不会通过你的app来关闭,屡次检查已消除这个可能性,确保你已关闭其他所有的可能用到gps定位的APP。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐