2017-02-16 1 views
1

Android 6으로 내 앱을 업데이트하고 alarmanager를 사용하여 백그라운드 서비스를 스케줄링합니다. 내 서비스를 위해 대략 1 시간의 긴 창문에서 깨우는 것이 중요합니다. 창문에서 잠에서 깨어나야만 장치가 잠잠 해지면 안됩니다. 창문에서 깨어 나면 걱정하지 않아도됩니다.Android doze alarm window

지금은 .setWindow를 사용하여 알람을 설정합니다. 도즈 모드로 작동하려면 무엇을 사용해야합니까? 더 setWindowAndallowWhileIdle

그리고 졸다 모드에서 안드로이드처럼 보이는

답변

0

마침내 따라서 배터리 최적화 약 엄격하기로 결정했다 동안 내가 아는 한, 고정 된 시간 대신 창을 설정하는 것이 특히 바람직합니다에게 없다 bypass doze 모드는 어렵습니다. 요점은 몇 시간 동안 정지 해 있고 유지 관리 기간 (작업이 시작될 곳) 또는 사용자가 장치를 집을 때까지 기다리는 장치에 대해 실제로 작업하지 않아야한다는 것입니다.

JobScheduler : 정확히 무엇을 위해 만들어 졌는지를 탐색하여 주기성, 계량/측정되지 않은 네트워크, 요금 부과 등과 같은 기준에 따라 다양한 종류의 스케줄링을 제공하는 정확하지 않은 또는 정기적 인 작업을 수행하십시오.

그들은 우리가 졸고있는 동안 전혀 일하기를 원하지 않습니다. 그래서 내가 생각할 수있는 것부터, "한 시간에 한 번"의 사용 사례는 지금부터는 최상의 약속 일뿐입니다. 일정과 '희망'. 즉, Android N은 유지 관리 기간이 더 빠른 더모 모드의 'practical'(관대 한) 버전을 보유하고 있습니다. 당신은 테스트 할 수 있습니다, 내 느낌은 소리처럼 우울하지 않다는 것입니다. 정책은 공평합니다 : 사용자가 전화와 상호 작용하려는 의도를 보여 주면 작업을 유발합니다.

심판 https://www.bignerdranch.com/blog/diving-into-doze-mode-for-developers/

+0

내 응용 프로그램의 전체 포인트는 사용자가 장치와 상호 작용되지 않은 상태에서 데이터를 기록하는 것입니다. 그래서 졸음 모드에서 장치를 깨울 필요가 있습니다. 그래서 나는 그저 창을 설정하고 시스템에 알람을 일괄 처리하는 더 많은 가능성을주는 대신 내 창에서 일어나는 일을 보장하기 위해 정확한 알람을 설정해야한다는 것이 나쁘다고 생각합니다. – Ben

+0

네, 맞습니다. 정확한 알람을 설정하십시오 [어쨌든 19 세 이후에 정확하지 않은] 창 대신에 당신을 위해가는 길처럼 보입니다. "내 응용 프로그램의 요점은 사용자가 장치와 상호 작용하지 않는 동안 데이터를 기록하는 것입니다."- 안드로이드가 더 이상 원하지 않는 것입니다. 그들의 논거는 배터리가 유휴 상태 인 장치에서 발생하지 않아야한다는 것입니다. 사용자가 동일한 것을 사용하지 않았기 때문에. –

관련 문제