12/08/2018, 14:13

AlarmManager trong android(part 1)

Xin chào các bạn trong bài viblo này mình sẽ giới thiệu về AlarmManager và cách sử dụng nó. Lớp này cung cấp các phương thức để truy cập dịch vụ báo thức của hệ thống. Cho phép bạn đặt lịch ứng dụng của bạn sẽ chạy trong một thời điểm nhất định trong tương lai.Khi báo thức được khởi động, Intent ...

Xin chào các bạn trong bài viblo này mình sẽ giới thiệu về AlarmManager và cách sử dụng nó.

Lớp này cung cấp các phương thức để truy cập dịch vụ báo thức của hệ thống. Cho phép bạn đặt lịch ứng dụng của bạn sẽ chạy trong một thời điểm nhất định trong tương lai.Khi báo thức được khởi động, Intent mà đã được đăng kí trước đó sẽ tự động khởi động ứng dụng nếu như nó không khởi động trước đó.AlarmManager vẫn sẽ hoạt động nếu như thiết bị của bạn đang sleep nhưng nếu thiết bị của bạn được reboot thì alarmManger sẽ bị reset và những gì bạn thiết đặt trước đó sẽ không còn tác dụng nữa.AlarmManager làm CPU ở trạng thái wake lock khi phương thức onRecieve được thực thi. Thiết bị sẽ không bị tắt cho đến khi broadcast chạy xong. Khi kết thúc hàm onRecieve, trạng thái wake lock sẽ được giải phóng. Điều này có nghĩa rằng thiết bị của bạn sẽ rơi vào trạng thái sleep khi hàm onRecieve kết thúc. Nếu alarmReciever đã gọi Context.startService() thì có thể thiết bị sẽ bị sleep trước khi service cần thiết được thực thi. Để ngăn ngừa điều này, BroadcastReceiver và Service của bạn cần được implement 1 chính sách wake lock riêng rẽ để chắc chắn rằng điện thoại của bạn sẽ tiếp tục chạy cho đến khi 1 service khác được bật.

Note: class AlarmManager không được cài đặt 1 cách trực tiếp mà được gọi qua phương thức

Context.getSystemService(Context.ALARM_SERVICE);
0