0

我试图在我的应用程序中停止“搜索 GPS”。当我使用这行代码时:

this.locationManager.removeUpdates(this);

我仍然可以在通知栏中看到 GPS 的图标,而且它根本没有停止。我还可以做些什么?谢谢!

4

3 回答 3

3

而不是传递这个,你应该像这样将位置监听器实例传递给 removeUpdate 方法。

locationManager.removeUpdates(gpsLocationListener);

在哪里

GPSLocationListener gpsLocationListener = new GPSLocationListener();

class GPSOnChangeLocationListener implements LocationListener {
           public void onLocationChanged(Location location) {}
           public void onProviderDisabled(String arg0) {}
           public void onProviderEnabled(String arg0) {}
           public void onStatusChanged(String arg0, int arg1, Bundle arg2) {}
}
于 2012-05-29T10:54:11.873 回答
1

我想到了。这就是我所做的并且有效:

private void registerLocationUpdates() {
    Intent intent = new Intent(ParkOGuardActivity.class.getName()
            + ".LOCATION_READY");
    pendingIntent = PendingIntent.getBroadcast(
            getApplicationContext(), 0, intent, 0);
    // minimum every 30 minutes, 300 kilometers 
    this.locationManager.requestLocationUpdates(this.provider, 30000,
            300000, pendingIntent);
}

private void cancelLocationUpdates() {
    this.locationManager.removeUpdates(pendingIntent);
}

感谢所有试图帮助我的人。

于 2012-05-29T11:48:00.477 回答
0

尝试locationManager.removeUpdates(gpsl);

于 2012-05-29T10:54:38.543 回答