0

GPS 데이터를 수집하여 데이터베이스에 저장 한 다음 매분마다 백엔드로 보내야합니다. 그리고 Doze 모드가 문제가되지 않도록하고 싶습니다. Android Doze : 전체 애플리케이션 또는 프로세스에 개별적으로 영향을 줍니까?

  1. 은 이제 내 전경 서비스를 시작하고있다 onLocationChanged 콜백을 구현하는 것이 가정하자.

    Doze가 GPS/인터넷을 사용할 수 있도록하기 위해 포 그라운드 서비스에서 모든 작업 (수집/저장/전송)을 수행해야합니까?

  2. 다른 곳에서 데이터를 저장/전송하려는 경우 BroadcastReceiver에서 내 BroadcastReceiver이 데이터를 처리 할 준비가되어 있고 잠 들어 있지 않다는 것을 어떻게 확인할 수 있습니까? https://stackoverflow.com/a/37869501/3210556

    가능한 woakaround는 별도의 프로세스에서 전경 서비스를 시작하는 것입니다

  3. 은 도즈 모드에 의해 영향을 전경 서비스를 만드는 안드로이드 M, 버그가있다.

    전경 서비스가 앱에 있다고 가정 할 때, 정확히 doze의 영향을받지 않는 것은 무엇입니까?

    • 전경 서비스 자체?
    • 전경 서비스와 관련된 프로세스가 있습니까?
    • 전체 앱이 맞습니까?

감사합니다.

답변

1

휴대 전화가 Doze에 들어가면 (GPS, 알람, 인터넷 등) 모든 것이 잠자기 상태가되고 (사용자가 갖고있는 안드로이드 버전에 따라) 어떤 시점에서 유지 관리 창으로 연기됩니다.

앱이 특정 시간에 무언가를해야하는 경우 white list 앱에 요청할 수 있습니다. 귀하의 사례가 유효 할 수도있는 흰색 목록 here의 유효한 사용 사례를 검토 할 수 있습니다.