2012-03-31 40 views

Trả lời

46

Bạn có thể so sánh chương trình phát sóng dính với ghi chú dán. Ai đó đăng nó và bạn có thể đọc khi bạn đi qua/ứng dụng của bạn bắt đầu - bất kể khi nào nó được đăng.

Phát sóng theo thứ tự giống như chuyển một ghi chú - nó chuyển từ người/ứng dụng sang người/ứng dụng. Bất cứ nơi nào trong chuỗi người nhận có thể chọn hủy bỏ chương trình phát sóng ngăn chặn phần còn lại của chuỗi không nhìn thấy nó.

Phát sóng bình thường .. tốt, chỉ cần gửi tới những người được phép & đăng ký để nghe.

Có một biến thể của chương trình phát sóng mà chỉ cho phép nhận đăng ký trong một ứng dụng chạy để nghe họ - ví dụ: một máy thu trong AndroidManifest.xml của bạn sẽ không kích hoạt cho các Intents.

+1

giải thích tốt đẹp! – Akhil

+0

giải thích rất tốt. –

26

Chương trình phát sóng bình thường: Các chương trình phát sóng thông thường (được gửi bằng Context.sendBroadcast) hoàn toàn không đồng bộ. Tất cả các máy thu phát sóng đều được chạy theo thứ tự không xác định, thường là cùng một lúc. Điều này hiệu quả hơn, nhưng có nghĩa là người nhận không thể sử dụng kết quả hoặc hủy bỏ các API được đưa vào đây.

Chương trình phát sóng được đặt hàng: - Phát sóng theo thứ tự là loại chương trình phát được gửi đồng bộ, tức là từng lần phát cho từng người nghe.

Phương thức sendOrderedBroadcast trên Android rơi vào lớp Ngữ cảnh của Android, mục đích của phương pháp này là phát tới người nhận nghe theo cách được tuần tự hóa và nhận kết quả về hoạt động gọi điện. Tôi đã tìm kiếm thứ gì đó như Android sendOrderedBroadcast từ lâu nhưng không thể tìm thấy nó. Một ưu điểm quan trọng khác của sendOrderedBroadcast là chúng ta có thể thiết lập mức độ ưu tiên của BroadcastReceiver. Bằng cách này tất cả các BroadcastReceivers nghe phát sóng cụ thể sẽ nhận được rằng phát sóng cụ thể một cách có trật tự. Bây giờ kể từ khi chúng tôi đang nhận được chương trình phát sóng theo một cách có trật tự, có thể tồn tại một trường hợp, khi bạn muốn làm gián đoạn dòng chảy của người nhận, hãy đoán xem điều này có thể được thực hiện bởi abortBroadcast().

Các chương trình phát sóng chú ý: - Phát sóng cố định là một chương trình phát sóng nằm sau thời điểm được thông báo cho hệ thống. Hầu hết các chương trình phát sóng được gửi, xử lý trong hệ thống và trở nên không thể truy cập một cách nhanh chóng. Tuy nhiên, Sticky Broadcasts công bố thông tin vẫn có thể truy cập vượt quá điểm mà tại đó chúng được xử lý. Một ví dụ điển hình là mức phát sóng pin. Không giống như hầu hết các chương trình phát sóng, mức pin có thể được truy xuất trong các ứng dụng vượt quá điểm mà nó được gửi qua hệ thống. Điều này có nghĩa là các ứng dụng có thể tìm hiểu bất kỳ mức phát sóng pin nào gần đây nhất.

+0

Tôi đoán bạn có thể nói rằng các chương trình phát sóng theo thứ tự được đồng bộ vì chúng được gửi đến người nghe theo mức độ ưu tiên. Cuộc gọi vẫn không đồng bộ mặc dù (trong trường hợp có bất kỳ sự nhầm lẫn nào). – Alan

Các vấn đề liên quan