2010-10-05 18 views
9

Tôi cần tìm hiểu xem người nhận phát sóng nào có thể xử lý Mục đích đã cho.queryBroadcastNhận không tìm thấy người nhận đã đăng ký với registerReceiver

Dường như queryBroadcastReceivers() không trả lại nhận đăng ký tại mã sử dụng registerReceiver() nhưng chỉ nhận khai báo trong AndroidManifest.xml.

Hành vi này có được thiết kế không?

Bất kỳ cách nào khác để tìm tất cả người nhận đã cài đặt cho một số Ý định?

Cảm ơn.

+0

hi một lần nữa, bất cứ ai có thể giúp đỡ? – Assaf

Trả lời

6

Có vẻ như nó không thể phát hiện thu đăng ký tại mã, theo bài viết mới này trên mailing list: http://groups.google.com/group/android-developers/msg/5fd1cdb24b2a6760

này là đáng thất vọng như tôi đang tìm kiếm một cách để làm điều tương tự.

+0

Tôi có cùng một vấn đề ngay bây giờ và câu trả lời của bạn là 3 tuổi. Bây giờ, có cách nào mới để liệt kê các bộ thu phát sóng đã đăng ký với 'registerReceiver()' không? – Vincent

+0

@Vincent trông giống như nó vẫn giữ nguyên, không có cách nào như vậy. – sandrstar

1

Nếu người nhận bạn quan tâm là của bạn, bạn có thể sử dụng sendOrderedBroadcast thay vì phát sóng thường xuyên.

Điều này làm cho chương trình phát đi tới tất cả người nhận đã đăng ký, theo ưu tiên và cuối cùng là bộ thu phát sóng được cung cấp của bạn, theo kết quả/dữ liệu được truyền, có thể tìm ra người nhận đã xử lý thông tin này trước đó.

Bạn có thể kiểm tra này dự án ví dụ trong đó sử dụng phương pháp này: http://www.mannaz.at/codebase/android-activity-foreground-surveillance/

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