저는이 주제에 대해 이미 많이 읽었습니다. SIP 클라이언트를 쓰려고하는데, 물론 장치가 잠자기 상태 일 때 수신 전화를 받아 들여야합니다. 내가 시도한 첫 번째 일은 내 onCreate
방법이 플래그를 사용했다 :잠자기시 장치를 깨우는 방법
Window window = this.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
그리고 내 장치 (전화와 다른 API 레벨의 다른 모델)들이 PC에에 연결 한 경우에만 최대 보니 USB 케이블이거나 충전 중입니다.
전화가 연결 해제되었을 때 플래그의 영향은 없었습니다. 그 다음에 나는 한 사람이 이미 비슷한 질문을 한 것을 발견했습니다. Android - Wake Up and Unlock Device 아무도 그에게 대답하지 않았습니다. 잠시 후 그는 자신의 질문에 대한 대답을 찾아서 게시했습니다. 대답은 PowerManager 클래스를 사용하는 것이 었습니다. 그의 대답은 나에게 많은 도움이되었지만 PowerManager의 설명서에는 "이 배터리를 사용하면 장치 배터리 수명이 크게 영향을받습니다"라고되어 있습니다.. 나는 나 자신에 그것을 느꼈다. 내 응용 프로그램은 배터리의 에너지를 너무 많이 사용하기 시작했습니다. 나는 WhatsApp와 내 애플 리케이션을 비교하고 배터리 에너지의 거대한 차이를 사용하여 보았다.
잠자기시 기기를 깨우는 다른 방법이 있습니까? 아니면
이 프로세스가 WhatsApp, Skype 및 수신 전화를 받고 배터리 수명을 절약하는 다른 앱에서 어떻게 작동하는지 알고 계십니까?
나는 이것이 과 같다고 생각합니다. window.addFlags (WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 그러나 나는 그것을 점검하고 차이점을 보지 않았다. –