转载请注明出处,谢谢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的代码,名字是由你自己定的
第1个缘由:这个是最多见,也是最使人懊丧的缘由了。你可能成心或无意的实例化了多个LocationManager。最简单的避免这个毛病的方法是,将实例LocationManager这个代码放在onResume()事件里面,同时在onPause()方法中关闭它。仔细的控制被你打开的LocationManager并及时关闭它。当你在不同的Activity之间LocationManager,你1定要留意。如果LocationManager正在运行,你又实例化了1个,那末你将不能够如愿用代码关闭它,你就只能通过手动来关闭它。
第2个缘由:多是你手机上的其他的APP已致使这个LocationManager运行中,那末很明显,它将不会通过你的app来关闭,屡次检查已消除这个可能性,确保你已关闭其他所有的可能用到gps定位的APP。