1

사용자 활동 추적 응용 프로그램을 작성 중입니다. 앱이 배경이거나 종료 된 경우에도 사용자 활동을 추적해야합니다.응용 프로그램을 종료 한 후 활동 인식을 중지하는 방법은 무엇입니까?

사용자 활동 추적을 시작하고 앱을 종료했습니다. 몇 시간이 지나면 사용자 활동 추적을 중지하고 싶습니다. 이제 앱에 인스턴스가 없습니다. 사용자 활동 추적을 중지 할 인스턴스가 없습니다.

최근 응용 프로그램에서 응용 프로그램을 제거한 후 모든 정적 참조가 지워집니다. 모든 것이 정상적으로 작동합니다. 하지만 앱 종료 후 얼마 동안 사용자 활동 추적을 중지하는 방법을 모르겠습니다.

/** 
* Make the actual update request. This is called from onConnected(). 
*/ 
private void continueRequestActivityUpdates() { 
    /* 
    * Request updates, using the default detection interval. The 
    * PendingIntent sends updates to ActivityRecognitionIntentService 
    */ 
    getActivityRecognitionClient().requestActivityUpdates(
      Constants.DETECTION_INTERVAL_MILLISECONDS, 
      createRequestPendingIntent()); 

} 

배경에있을 때 어떻게 중지 시킬지 알고 싶습니다. 일단 앱이 종료되면 나는 그것을 막을 인스턴스가 없기 때문에.

도와주세요. 미리 감사드립니다.

+0

를? 몇 가지 코드를 공유하십시오. 어떤 서비스를 사용하고 있습니까? –

+0

@SweetWisher シ 코드를 추가했습니다 ... 지금 확인하십시오. –

답변

0

활동 인식 업데이트를 중지하려면 업데이트를 요청하는 데 사용한 패턴과 동일한 패턴을 사용하지만 requestActivityUpdates() 대신 removeActivityUpdates()를 호출하십시오. 여기에서이 툭 : link

는 같은 클래스에서이 메소드를 구현하고 업데이트 제거 할 때마다이 전화 : 당신은 어떻게 사용자의 활동을 추적하는

private void removeActivityUpdates() { 
    mActivityRecognitionClient = new ActivityRecognitionClient(mContext, this, this); 

    Intent intent = new Intent(mContext, ActivityRecognitionIntentService.class); 

    mActivityRecognitionPendingIntent = PendingIntent.getService(mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

    mActivityRecognitionClient.removeActivityUpdates(mActivityRecognitionPendingIntent); 
} 
+0

응용 프로그램이 종료 될 때 나는 \t의 인스턴스를 갖지 않습니다. private UserActivityDetectionRemover mUserActivityDetectionRemover; null 일 수 있습니다. 따라서 전화를 걸 수 없습니다. 앱이 열리면 제대로 제거 할 수있었습니다. –

+0

그러나 당신은 onDestroy에서 이것을 왜 호출하지 않습니까? 따라서 앱이 삭제되기 전에 업데이트가 제거됩니다. – abhinav

+0

내 요구 사항은 앱이 실행되지 않아도 사용자 활동을 추적하려고합니다. 여전히 앱 종료 후에도 계속 실행됩니다. –

관련 문제