android 정시 퀘 스 트 실현

1527 단어 Android
안 드 로 이 드 의 시스템 타이머 기능 은 AlarmManager 클래스 에서 제공 합 니 다.
AlarmManager 는 두 개의 인 터 페 이 스 를 제공 하여 사용 할 수 있 습 니 다.각각 한 번 과 순환 정시 기능 입 니 다.다음 과 같 습 니 다.AlarmManager 는 두 개의 인 터 페 이 스 를 제공 하여 사용 할 수 있 습 니 다.각각 한 번 과 순환 정시 기능 입 니 다.다음 과 같 습 니 다.
public void set(int type, long triggerAtMillis, PendingIntent operation);
public void setRepeating(int type, long triggerAtMillis, long intervalMillis, PendingIntent operation);
AlarmManager 는 4 가지 유형의 정시 기능 을 제공 하고 위의 매개 변수 type 에 대응 하 며 각각
RTC_WAKEUP 과 RTC:모두 UTC 시간(즉 System.currentTimeMillis()을 사용 하여 얻 은 시간)입 니 다.차이 점 은 RTCWAKEUP 은 시스템 을 깨 울 수 있 습 니 다.즉,핸드폰 잠 금 화면 이 휴면 할 때 도 RTC 를 받 을 수 있 습 니 다.WAKEUP 정시 알 람 이벤트;반면 RTC 는 깨 우기 기능 이 없어 알 람 만 료 사 태 는 휴대 전화 가 다음 에 깨 워 야 발생 하 는 지연 성 이 크다.
ELAPSED_REALTIME_WAKEUP 과 ELAPSEDREALTime:모두 시스템 시 계 를 사용 합 니 다.즉,핸드폰 이 켜 지기 시작 하 는 밀리초 수(SystemClock.elapsed Realtime()입 니 다.각성 기능 동상.파라미터 triggerAtMillis:다음 정시 알 람 만 료 시간
인자 interval Millis:순환 정시 알 람 간격
파라미터 PendingIntent operation:정시 알 람 이 만 료 되 어 방송 을 보 내 거나 Activity 또는 Service 를 시작 할 수 있 으 며 방송 용 으로 가장 많이 사용 할 수 있 습 니 다.
정시 알 람 이 만 료 되 는 작업 이 복잡 하고 시간 이 걸 리 면 백 스테이지 서 비 스 를 사용 해 야 한다.브 로드 캐 스 트 ANR 방지.백그라운드 서 비 스 는 작업 스 레 드 에 시간 이 걸 리 는 동작 을 넣 고 UI 메 인 스 레 드 Handler 를 통 해 UI 를 업데이트 해 야 합 니 다.
이때 절대:RTCWAKEUP 과 ELAPSEDREALTIME_WAKEUP 이 가지 고 있 는 깨 우기 기능,하지만 이 WAKElock 은 방송,Activity,Service 시작/발송 기간 에 만 유효 합 니 다.백 스테이지 서 비 스 는 시간 소모 작업 을 처리 하려 면 반드시 웨 이 크 락 자원 을 자발적으로 신청 하고 방출 하여 시간 소모 작업 이 병 없 이 끝나 지 않도록 해 야 한다.

좋은 웹페이지 즐겨찾기