完成后GPS保持激活()

时间:2012-03-26 07:42:42

标签: android gps listener locationmanager locationlistener

来自一个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();,但这不起作用。任何人都可以帮助我并暗示为什么这是不可能的?

由于

2 个答案:

答案 0 :(得分:1)

您正在使用公开方法关闭GPS。但你怎么能这么肯定,目前正在运行的对象越来越近了?我的意思是说你的位置类可能有多个对象。为了达到这个目的,你需要使用静态,这样在关闭GPS时它将只关闭特定的一个。

答案 1 :(得分:0)

调用此

mGPSLocation.StopLocationListeners();

您可以通过将其对象设为null来停止LocationListener。将此行放入

LocatieManager=null

在StopLocationListeners()方法..