Android 在locationManager.removeUpdates()和将locationManager设置为null后,GPS图标仍在闪烁

Android 在locationManager.removeUpdates()和将locationManager设置为null后,GPS图标仍在闪烁,android,geolocation,locationmanager,Android,Geolocation,Locationmanager,我正在开发位置跟踪应用程序。但我正在停止通过做两件事来获得位置更新 locationManager.RemoveUpdate(此);及 将locationManager引用设置为null 这将停止获取我想要的位置坐标 但问题是gps图标仍在闪烁。。这将耗尽设备的电池电量 所以请帮我停止这个GPS定位 如果在模拟器上测试,这是完全正常的行为。状态栏中的GPS图标永远不会消失 如果您在硬件上测试此功能,您可能多次调用了requestLocationUpdates()(并且没有删除其他更新),或者硬件

我正在开发位置跟踪应用程序。但我正在停止通过做两件事来获得位置更新

  • locationManager.RemoveUpdate(此);及
  • 将locationManager引用设置为null
  • 这将停止获取我想要的位置坐标

    但问题是gps图标仍在闪烁。。这将耗尽设备的电池电量


    所以请帮我停止这个GPS定位

    如果在模拟器上测试,这是完全正常的行为。状态栏中的GPS图标永远不会消失


    如果您在硬件上测试此功能,您可能多次调用了
    requestLocationUpdates()
    (并且没有删除其他更新),或者硬件上的其他东西正在使用GPS。

    如果您在mapView中显示位置和/或指南针,则必须禁用它们。如果不这样做,GPS仍处于活动状态

    例:


    除了上面的答案,在您描述的情况下,我建议您仔细检查项目中使用的第三方库,尤其是一些分析库


    在我意识到GPS图标是由安装不正确的Flurry引起之前,我头痛不已(
    FlurryAgent.setReportLocation(true)
    已设置,并且
    onEndSession()
    未在
    onStop()
    中调用)。

    Thx先生,我正在设备上测试..但我的代码就像当计时器点击时,我请求locationManager通过locationManager获取更新。RequestLocationUpdate(bestProvider,10*1000,1,listener);然后在侦听器中,我编写了public void onLocationChanged(Location Location){FileUtils.save(Location,mContext);locationManager.removeUpdates(this);},因此根据我的意见,我的代码不可能再请求更新了。。。所以请告诉我我要做的任何代码修改..虽然我确实删除了我启动的所有requestLocationUpdates的更新,但这只发生在一些设备上,比如三星Galaxy S2。然而,GPS闪烁图标似乎在几秒钟后消失(通常不到30秒),这就是我的答案。谢谢对于更新后的GoogleMapsAPI,我已经这样做了:
    map.setMyLocationEnabled(false)
    
    private MapView mapView;
    private MyLocationOverlay Location;
    
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.frame_layout);
    
        mapView = (MapView) this.findViewById(R.id.mapView);
        Location = new MyLocationOverlay(this, mapView);
        Location.enableMyLocation();
        Location.enableCompass();
        mapView.getOverlays().add(Location);
    }
    
    @Override
    public void onDestroy() {
        Location.disableMyLocation();
        Location.disableCompass();
    }