2

サービスで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) { }
}

しかし、最初の座標が「gpsによって設定された場所」というテキストを含むシステム通知を受信すると、アプリのアイコンが表示されます。押すと、位置情報サービスの設定が表示されます。リスナーを削除したり、アプリをアンインストールしたりしても、この通知が消えることはありません。見せたくない。どうすればこの通知を取り除くことができますか?私はAndroidエミュレーターを使用し、DDMSを介してgps座標を送信します

4

1 に答える 1

2

実際のAndroidデバイスで確認してください。通常、GPS受信機からの更新の受信を停止するには、次の手順に従います。

 1. locationManager.removeUpdates(locationListener);
 2. set locationListener = null
 3. set locationManager = null

また、実際のデバイスでアプリを実行していることを確認してください。

于 2012-10-27T18:58:29.283 に答える