来自一个Activity(UI)我调用一个类来获取我的位置。 在活动中的onPause中,我尝试停止监听器,但状态栏中的GPS图标一直闪烁,更多设备就是这种情况(我读到这是HTC问题)。
有人能告诉我如何解决这个问题吗?
The GPS location class:
public GPSLocation (Context context) {
myContext = context;
LocatieManager=(LocationManager)myContext.getSystemService(Context.LOCATION_SERVICE);
}
public void StopLocationListeners(){
// LocationManager LocatieManager=(LocationManager)myContext.getSystemService(Context.LOCATION_SERVICE);
LocatieManager.removeUpdates(netwerklistener);
LocatieManager.removeUpdates(gpslistener);
LocatieManager.removeGpsStatusListener(gpsStatusListener);
}
在UI活动中,我在onPause方法中调用mGPSLocation.StopLocationListeners();
,但这不起作用。任何人都可以帮助我并暗示为什么这是不可能的?
由于
答案 0 :(得分:1)
您正在使用公开方法关闭GPS。但你怎么能这么肯定,目前正在运行的对象越来越近了?我的意思是说你的位置类可能有多个对象。为了达到这个目的,你需要使用静态,这样在关闭GPS时它将只关闭特定的一个。
答案 1 :(得分:0)
mGPSLocation.StopLocationListeners();
您可以通过将其对象设为null来停止LocationListener。将此行放入
LocatieManager=null
在StopLocationListeners()方法..