2016-12-18 7 views
0

서비스 수명을 초과하여 서비스를 유지하려고합니다.안드로이드 서비스의 수명주기가 휴대 전화마다 다릅니다.

활동과 다른 프로세스에서 활동을 시작하는 두 대의 전화 (Samsung Galaxy S6 및 Sony Xperia Z3 Compact)에서 서비스가 표시되고 알림이 표시되면 서비스가 활성 상태 인 동안 앱을 스 와이프하여 제거합니다.

세 번째 전화에서 Huawei Honor 8은 동일한 코드가 서비스를 파괴하고 즉시 예약 된 모든 경보를 취소합니다.

저는 매 10 초마다 알람을 발생 시켰습니다 (Huawei에서 즉시 취소되고 Samsung/Sony에서 작동 함). 또한 백그라운드에서 서비스를 실행하는 동안 LocationListener를 활성화합니다.

또 다른 차이점은 근무중인 전화기의 우선 순위 MAX와 진행중인 알림을 스 와이프하거나 지움으로써 취소 할 수는 없지만 Huawei에서도 가능하다는 것입니다.

배터리 최적화 및 기타 설정을 아무런 차이없이 무시하도록 요청했습니다. 나 또한 화면이 꺼져있는 동안 앱을 죽이지 않는 옵션을 찾으려고 노력했다. Huawei는 한 번에 그렇게하는 것 같다.

활동이 종료되거나 활동이 활발하게 실행되지 않은 상태에서 서비스가 계속 실행되도록하려면이 시나리오를 수행 할 수 있습니다. 메모리가 부족한 경우에는 메모리를 거의 사용하지 않으므로 활동은 진행되지만 서비스는 수행되지 않습니다. 그러나이 설정을 사용하면 서비스가 즉시 삭제됩니다.

가능한 특정 제조 설정을 보면서 코드에서 예측하거나 제어 할 수 없습니까?

이 유형의 문제에서 볼 수있는 유일한 해결책은 서비스가 매우 자주 살아 있는지 확인하고 시스템이 자동으로 활성화되어야 할 때 재시작하는 것입니다. 어쨌든 시스템을 죽이는 시스템).

+0

해결책이 무엇인지 모르겠지만 Play 스토어에서 배포 중이며 수정본을 찾을 수없는 경우 문제가있는 기기를 지원되는 기기 목록에서 제외 할 수 있습니다. – nasch

+0

화웨이는 '화면 꺼짐 상태에서 앱을 죽이지 마라'옵션을 가지고 있지만, 코드로이 값을 설정하는 옵션을 아직 찾지 못했고, 배터리를 사용하면 옵트 마이 제이션이 허용 된 것으로 변경되지 않으므로 아무런 효과가없는 것처럼 보입니다. – Deukalion

답변

0

화웨이 기기의 경우 알림 패널에서 진행중인 알림을 스 와이프하여 제거 할 수있는 문제가 있습니다. 이 문제는 그와 같이 행동해서는 안되며 수정되어 새로운 업데이트에서 잘 작동하므로 문제로 등록됩니다.

Huagers가이 작업을 수행하는 HwSystemManager (PhoneManager)라는 시스템 응용 프로그램을 가지고 있기 때문에 RecentsActivity에서 작업을 닫을 때 서비스가 종료되는 것에 관해서. PhoneManager를 사용하고 보호 된 Apps에서 APP를 Protected APP로 설정하면 서비스가 중단되지 않고 메모리 부족 상황이 발생하지 않는 한 장기간 백그라운드에서 백그라운드에서 앱이 실행될 수 있습니다.

+0

네, 그만큼 많이 알아 냈습니다. 내 질문에 더 비슷합니다 - 어떻게 사용자가이 문제를 해결할 수 있습니까? 일부 휴대폰에는 사용자 지정 시스템에서 설정 한 특정 값을 재정의하기 위해 호출 할 수있는 설정이 있다는 것을 알고 있습니다. 특정 시간에 실행되지 않고 사용자가 그렇게하기로 선택했을 때만 서비스를 사용하기 전에 특별한 프롬프트가 필요할 수도있는 비슷한 종류의 전화기 식별이나 화면이 꺼지면 즉시 죽게되는 경우 그것의 목적. – Deukalion

+0

@Deukalion 나는 Huawei에서 일 했으므로 보호 된 App 목록에 추가되지 않으면 죽을 것이라고 확신합니다. 가장 자주 사용되는 모든 응용 프로그램과 시스템 응용 프로그램을 보호 목록에 추가합니다. –

+0

@Deukalion이 동작은 높고 장기간의 장치 성능 –