2016-09-18 2 views
3

10 초마다 7 * 24 삐 소리가 나고 싶습니다. 어떻게해야합니까?10 초마다 울리는 방법 7 * 24 안드로이드 6.0 이상이 무엇이든간에

  1. Doze 모드에서 작동합니다.
  2. 정확하게 작동합니다.
  3. GCM없이 작동합니다.
  4. 맞춤 ROM에서 작동합니다.

가능하지 않은 경우 10 초를 1 분으로 변경하고 정확한 시간을 삭제할 수 있습니까?

비고 : 4. custom ROM과 관련하여 많은 제조업체가 배터리를 절약하기 위해 AlarmManager처럼 백그라운드를 실행하지 않습니다.

+0

찾을 수 있습니다 알람 관리기 일부 코드 샘플에 대한 자세한 정보 전화. Ping 날 사용 가능할 때 :) P.S. 당신이 그것을 제거 할 수 없다면 더 나아질 것입니다! –

+0

haha. 그것이 사용 가능하지 않다는 것을 알고는 좋지만 어떤 조건을 사용할 수 없습니까? – qcm217

+0

오, 미안 해요, 당신이 찾고있는 기능을 사용할 수 없다는 것을 의미하지 않았다 :) 그냥 응용 프로그램을 원한다. 답변이 별도로 게시됩니다. –

답변

0

Android 배경 Service을 사용해야합니다. 및 CountDownTimer. 참조 용 링크를 확인하십시오.

SService는 백그라운드 모드에서 작동합니다. CountDownTimer 간격을 10 초로 설정할 수 있습니다.

+0

AlarmManager 및 서비스를 알고 있습니다. 그러나 나는이 게시물의 악센트가 10 초, 7 * 24라고 생각합니다. – qcm217

+0

예 CountDownTimer를 실행하고 같은 메서드 내에서 해당 메서드를 호출하는 메서드를 만들 수 있습니다. (그래서 그것은 루프에서 작동합니다) – LearnPainLess

+0

나는 쇄도 답장을 좋아하지 않는다. 그것은 사람들이 문제가 대답했다고 생각하게하는 포스트를 파괴한다. AlarmManager는 매 10 초를 만족시킬 수 없습니다 (최소 간격은 1 분입니다) – qcm217

1

저는 AlarmManager를 사용하는 것이 좋습니다. 알람은 배경 작업이 아닙니다. 미래의 특정 (정확한) 시간에 실행되는 예정된 작업입니다. 만약 당신이 말했듯이, 제조사가 배터리를 보존하기 위해 배터리를 소멸 시킨다면 사용자의 알람 (예 : 8am 웨이크 업 시간)이 더 이상 작동하지 않아 의미가 없습니다.

AlarmManager의 동작이 API 19 이상에서 변경되었으므로 기본적으로 Alarms fire off time은 정확도가입니다. 이것은 배터리 최적화 이유로 수행되었습니다. 그러나 AlarmManager#setExact 이하의 AlarmManager#setWindow API를 사용하여 정확한 배달 시간을 요청할 수도 있습니다.

이전 플랫폼은 이전과 기본적으로 모든 알람이 때 작동합니다 정확한

나는 완전히 비밀리에 내 동료의 중 하나에 이러한 응용 프로그램을 설치합니다 here

+0

1. alarmmanager 최소 간격은 정확한 시간에 15 분입니다. 2에 대한 alarmmanager 제조 업체에 의해 살해 당할지 모르겠지만, 메커니즘을 중지하거나 시스템이 유휴 상태 일 때 응용 프로그램을 강제로 뿌리 것입니다 뿌리 시스템입니다. 이 링크 http://stackoverflow.com/questions/34729966/alarmmanager-not-working-in-several-devices를 참조하십시오. – qcm217