2013-12-08 4 views
2

방금 ​​AlarmManager를 사용하여 앱이 매일 오후 3시에 알림을 보내도록했습니다. 그러나 이것은 앱이 아직 백그라운드에있는 경우에만 작동합니다. 사용자가 앱을 죽이면 AM이 더 이상 작동하지 않습니다. 원하는 것을 얻기 위해 AlarmManager 대신 무엇을 할 수 있습니까?안드로이드는 앱이 닫힌 경우에도 매일 알림을 전송합니다.

답변

5

하지만 앱이 백그라운드 상태 인 경우에만 작동합니다.

아니요, Android가 다른 앱의 메모리를 확보하기 위해 프로세스를 종료하는 등 앱이 실행되지 않아도 제대로 작동합니다. 사용자가 응용 프로그램을 죽이고 때

는 오전 "명"에 의해

하면 더 이상, 당신은 설정에서 앱 "강제 정지"에 탭 사용자를 의미 한 후 작동하지 않는 알람은 예정되지 않으며 사용자가 앱을 수동으로 실행할 때까지 (예 : 홈 화면에서 런처 활동을 두드리기) 앱이 다시 실행되지 않습니다.

두뇌가 죽은 제조업체가 만든 일부 장치는 사용자가 장치 제공 "작업 관리자"에서 앱을 중지 할 때 "강제 중지"와 동일한 작업을 수행한다고하는 보고서를 들었습니다. 그것은 불행한 일입니다.

"kill"의 다른 일반적인 정의에서 경보는 영향을받지 않습니다.

내가 원하는 것을 얻기 위해 AlarmManager 대신 무엇을 할 수 있습니까?

없음. 사용자가 앱을 강제 종료하면 사용자는 앱 실행을 원하지 않으므로 앱이 실행되지 않습니다.

+0

그러나 예를 들어 봅시다 : WhatsApp. WhatsApp이 내 휴대 전화에서 실행되지 않으면 WhatsApp의 새 메시지에 대한 알림을받습니다. 그게 정확히 내가하고 싶은, 어떻게 이것이 가능한가? – Phil

+0

@Phil : 그들은 (직접적으로 또는 간접적으로)'AlarmManager'을 사용하거나, 푸시 알림을받습니다 (메시지 앱일 수 있기 때문에). 사용자가 WhatsApp를 강제 종료하면 이들 중 하나가 차단되고 그 중 하나는 다른 경우에도 작동합니다. – CommonsWare

+0

Mhm AlarmManager도 사용하고 있습니다. 휴대 전화에 버튼이 있습니다.이 버튼을 누르면 모든 시작된 앱이 표시되고 오른쪽 또는 왼쪽으로 간단히 스 와이프하여 닫을 수 있습니다. WhatsApp에서이 작업을 수행하면 알림이 전송됩니다. 앱에서이 작업을 수행하면 알림이 더 이상 전송되지 않습니다. – Phil

1

스티커 백그라운드 서비스를 사용하여 언제든지 알림을받을 수 있습니다. 간단한 실행 서비스로 모든 작업을 예약 할 수 있습니다. 프로세서를 절전 모드로 유지하는 데 필요할 수있는 장기 실행 작업에는 wake_lock을 사용하는 것이 좋습니다. 또한 배터리 소모량을 고려하십시오. 감사합니다.

관련 문제