android MyLocationOverlay停止GPS onPause

时间:2012-11-26 20:26:01

标签: android memory-management gps

我正在使用MyLocationOverlay来获取我的位置。但我想停止GPS onPause并恢复它onResume。我怎么能这样做?

我知道LocationManager是方法removeUpdates ...

final MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mapView);
myLocationOverlay.enableMyLocation();
mapView.getOverlays().add(myLocationOverlay); 

locButton.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        // TODO Auto-generated method stub
        myLocationOverlay.runOnFirstFix(new Runnable() {

            public void run() {
                // TODO Auto-generated method stub
                mapView.getController().animateTo(myLocationOverlay.getMyLocation());
            }
        });{

        }
    }
});

2 个答案:

答案 0 :(得分:0)

暂停您的活动:

@Override public void onPause() {
    myLocationOverlay.disableMyLocation();
    super.onPause();
}
@Override public void onResume() {
    myLocationOverlay.enableMyLocation();
    super.onResume();
}

但我没有编译。来自https://developers.google.com/maps/documentation/android/reference/com/google/android/maps/MyLocationOverlay

答案 1 :(得分:0)

在创建MyLocationOverlay对象时保持对其的引用,只需分别使用enableMyLocation()disableMylocation() onResume()onPause()方法。根据您设置代码的方式,您可能需要在覆盖覆盖任何内容之前进行null检查。