ActivityRecognition API를 사용하여 백그라운드에서 사용자 활동을 추적하는 앱을 만들고 사용자가 지정된 시간 (예 : 1 시간) 동안 같은 장소에 있으면 시스템이 사용자에게 알림을 보냅니다 산책을. 나는 액티비티 인식을 구현했지만 앱이 열리는 경우에만 해당됩니다. 분명히 Google API 클라이언트는 활동 업데이트를 보내려면 계속 연결해야합니다. 내 질문은 - 배경에서 활동을 추적 할 때 더 좋은 해결책은 무엇입니까?백그라운드에서 활동 인식
1) 30 초 안에 활동을 일시 중단 한 주 활동 (또는 개별 활동)에 AlarmManager를 구현하려면 Google API 클라이언트를 Play에 연결하십시오. 그런 다음 활동 분석을 위해 PendingIntent를 IntentService로 보냅니다.
2) API 클라이언트를 계속 연결하고 IntentService에 활동 업데이트를 보내기 위해 백그라운드 (개별 스레드)에서 계속 실행되도록 IntentService가 아닌 별도의 서비스를 만듭니다. 따라서 시스템에는 2 가지 서비스가 있습니다. 1) API 클라이언트를 Play 서비스에 연결하여 분석을 위해 IntentService에 정기적 인 활동 업데이트를 보내는 서비스. 2) IntentService는 서비스 형태로 활동 업데이트를 수신하고 데이터를 분석합니다.
3)들에 의해 제공되는 다른 어떤 솔루션()
댓글 : 내 교사 날 알람 관리기를 사용하도록 제안,하지만 당신은 일반적으로 네트워크 업데이트와 같은 것들에 대한 사용은, 따라서 간격은 일반적으로 10 분 이상 반면입니다 30 초 ~ 1 분이 필요합니다. 그래서 나는 그것을 사용하는 것을 주저합니다.
나는 또한 이전에 많은 비슷한 질문을 보았지만 명확한 답을 찾지 못했습니다. 당신이 활동 업데이트를받을 연결된 GoogleApiClient
필요하지 않습니다 -
지오 펜스 사용을 고려하거나 가속도계를 와키 록으로 모니터링 했습니까? – Veener
비슷한 질문 http://stackoverflow.com/questions/28380527/detect-phone-movement-when-screen-is-off – Veener