Vietnamese subtitles

← 10-08 Using Alarms

Get Embed Code
7 Languages

Showing Revision 1 created 08/01/2015 by TTmagic Nguyen.

  1. Giờ ta đã có một service đơn giản.
  2. Nó có dễ không?
  3. Nhưng nó vẫn chưa tự đánh thức được nó.
  4. May mắn là, có một system service để làm điều này.
  5. Đây là cơ hội tốt để giới thiệu Alarm manager.
  6. Alarm manager cho phép bạn nói với system là bạn muốn nó
  7. đánh thức một phần của app bạn sau một khoảng thời gian
  8. và làm vài thứ linh tinh trong background.
  9. Bạn có thể dùng nó để đánh thức app của bạn một cách định kỳ,
  10. nhưng điều gì đánh thức chúng ta ở trong background?
  11. Đó là một Android component mà ta chưa từng thấy trước đây,
  12. gọi là một broadcast receiver.
  13. Một broadcast receiver là một class đặc biệt dùng để
  14. nhận intent broadcasts, thường xuyên từ apps khác.
  15. Thông thường, một broadcast receiver sẽ đăng ký một intent filter
  16. cho những broadcasts này.
  17. Nó cũng là một cách để app sẽ lắng nghe báo thức.
  18. Alarms sẽ lợi dụng một loại mới của intent, gọi là PendingIntent.
  19. Một PendingIntent là một loại đặc biệt của intent
  20. mà nó được giao từ ứng dụng này tới ứng dụng khác.
  21. Sự khác biệt lớn nhất giữa một PendingIntent và một intent bình thường
  22. là PendingIntent trao quyền cho app dùng nó để gửi data
  23. với cùng permission và app identify như ứng dụng mà tạo ra nó.
  24. Trong Android điều này cho phép hệ system process gọi app của bạn quay lại
  25. theo một cách không đồng bộ mà không ảnh hưởng tới mô hành bảo mật của Android.
  26. Trong alarms một pendingIntent được dùng bởi Alarm manager
  27. để nói với broadcast recẻiver mà ta tạo.
  28. Hãy thêm vài cái alarm.
  29. Đầu tiên, ta sẽ thêm một BroadcastReceiver như một static inner class
  30. của SunshineService.
  31. Vì đây là một Android component,
  32. Tôi sẽ đăng ký broadcast receiver này trong manifest.
  33. Chú ý cách một static inner class được ký hiệu.
  34. Okay.
  35. Tôi đã đưa bạn bộ xương của một broadcast receiver mà có thể xử lý một alarm.
  36. Và giờ là lượt của bạn.
  37. Bạn có thể tạo một PendingIntent từ một explixit intent
  38. để có alarm manager khởi động broadcast receiver của bạn.
  39. Tôi khuyên bạn nên đặt alram báo động trong khoảng thời gian ngắn
  40. như 5 giây, để bạn có thể dễ dàng test nó có hoạt động không.