2011-02-24 6 views
0

저는 HTC Legend에서 일하고 있으며 내 자신의 GPS 로깅 앱을 구축하려고합니다. 사실은 모든 트랙에서 30 분의 간격이 있다는 사실과 함께 예상대로 작동합니다.Android 2.2 앱 : 30 분 후에 GPS 신호가 표시되지 않습니다. 30 분이 지나지 않아 다시 작동합니다.

내가 GPS 데이터를 얻지 못하는이 간격은 항상 30-60 분 정도입니다. 따라서 활동 30 분 후에 30 분 동안 GPS 데이터가 없습니다. 그리고 아무것도하지 않고 (심지어 응용 프로그램을 다시 시작하지 않음), 30 분 휴식 후에 다시 데이터 수집을 시작합니다.

누구에게도 설명이 있습니까?

내가 똑바로 앞으로의 requestLocationUpdates 물건으로 데이터를 수집한다는 얘기를 깜빡 했네요 ... 나를 미치게하지만 것 여기에는 문제 없습니다 ...

편집 : 요청에 따라 코드 샘플 :

private LocationListener ll = new LocationListener(){ 

     @Override 
     public void onLocationChanged(Location loc) { 
     } 

     @Override 
     public void onProviderDisabled(String arg0) { 

     } 

     @Override 
     public void onProviderEnabled(String arg0) { 
     } 

     @Override 
     public void onStatusChanged(String provider, int status, Bundle extras) { 
     } 
}; 

위의 물건이 어디 우리가 ONSTART 함수의 라인을 가지고

GpsStatus.NmeaListener nl = new GpsStatus.NmeaListener() { 

    @Override 
    public void onNmeaReceived(long timestamp, String nmea) { 
     /* 
     * Use patcher and matcher to find a proper GPRMC sentence and remove symbols at the end like \n, # etc. 
     */ 
     m = p.matcher(nmea); 
     Log.d(LocationLoggerApp.TAG, "Time for a break..."); 
     //Notify activity that app is ready for upload 
     broadcastIntent.putExtra("LOG", "Got valid GPRMC sentence"); 
     sendBroadcast(broadcastIntent); 
    } 
}; 

그리고 여기 : 그리고 여기가 원시 GPS 데이터를 처리하기 때문에 해당 NMEA 리스너입니다 "로드"

/* 
    * Request location updates as workaround because the function addNmeaListner DOES NOT enable GPS on the phone! 
    */ 
    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, interval*1000, 0, ll); 
    lm.addNmeaListener(nl); 

감사합니다,

답변

0

마틴 일부 코드 샘플의 모든 기회를? 나의 첫 번째 제안은 minTime 및 minDistance 매개 변수를 올바르게 설정했는지 확인하는 것입니다.

+0

첫 번째 게시물에 샘플을 추가했습니다. 그러나 30 분 휴식 전후에 작동하기 때문에 이것은 분명히 문제가되지 않습니다. minTime과 minDistance가 잘못 될 경우 데이터를 가져 오지 않아야합니다. 아니면 내가 여기서 잘못 생각한거야? – Martin

+0

30 분 동안/30 분 위치 데이터를 잃어 버릴만한 확실한 정보가 보이지 않습니다. 당신은 이것이 항상 일어난다 고 말하면서 나는 당신이 몇 가지 시험을해야한다고 생각합니다. 우선 Android 마켓에서 GPS Test (무료 버전)를 다운로드하고 로거와 동시에 실행 해 보겠습니다. 두 시간이 모두 1 시간 동안 작동하면 두 번째 30 분 동안 GPS 수정 사항이 손실되는지 확인하십시오. 그렇다면 잘못한 프로그램이 아님을 알고 있습니다. –

관련 문제