我写了一个简单的gps跟踪器,它在一个服务中收集gps信息
private void startListenCoordinateUpdates() {
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
String provider = LocationManager.GPS_PROVIDER;
int updateTime = 2*1000, updateDistance = 10;
locationManager.requestLocationUpdates(provider, updateTime, updateDistance, locationListener);
}
private void stopListenCoordinateUpdates() {
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
locationManager.removeUpdates(locationListener);
}
private class GpsTrackerLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
currentTrackInfo.addCoordinate(loc.getLatitude(), loc.getLongitude(), loc.getTime());
}
@Override
public void onProviderDisabled(String provider) { }
@Override
public void onProviderEnabled(String provider) { }
@Override
public void onStatusChanged(String provider, int status, Bundle extras) { }
}但是,当收到第一个坐标时,系统会通知"Location set by gps“,并且我的应用程序图标会被弹出。当我按下它时,会出现位置服务设置。这样,即使我删除了侦听器或卸载了我的应用程序,这个通知也不会消失。我不想表现出来。如何摆脱此通知?我使用android模拟器,通过DDMS发送gps坐标
发布于 2012-10-28 02:58:29
请在真正的android设备上检查。通常,为了停止侦听来自GPS接收器的更新,我遵循以下步骤。
1. locationManager.removeUpdates(locationListener);
2. set locationListener = null
3. set locationManager = null并确保在真实设备上运行该应用程序。
https://stackoverflow.com/questions/13102839
复制相似问题