Sự khác biệt giữa sendStickyBroadcast
và sendBroadcast
trong Android là gì?sự khác nhau giữa sendStickyBroadcast và sendBroadcast trong Android
Trả lời
Here is what the Android SDK says about sendStickyBroadcast()
:
Thực hiện một sendBroadcast (Ý định) mà là "dính", có nghĩa là tiếp cận mục đích bạn đang gửi ở lại xung quanh sau khi phát sóng xong, vì vậy mà những người khác có thể nhanh chóng lấy lại dữ liệu thông qua giá trị trả lại của registerReceiver (BroadcastReceiver, IntentFilter). Trong tất cả các cách khác, điều này hoạt động giống như sendBroadcast (Intent).
Một ví dụ về phát quảng cáo cố định được gửi qua hệ điều hành là ACTION_BATTERY_CHANGED
. Khi bạn gọi registerReceiver()
cho hành động đó - ngay cả với số null
BroadcastReceiver
- bạn nhận được số Intent
đã được phát sóng lần cuối cho hành động đó. Do đó, bạn có thể sử dụng điều này để tìm trạng thái của pin mà không nhất thiết phải đăng ký cho tất cả các thay đổi trạng thái trong tương lai trong pin.
loại: - Địa phương, bình thường, có thứ tự và Sticky
Bình thường Broadcast
: - sử dụng sendBroadcast()
: - phát sóng không đồng bộ
: - bất kỳ máy thu được phát sóng không phải bất kỳ thứ tự cụ thể nào
Ordered Broadcast
: - sử dụng sendOrderedBroadcast()
: - đồng bộ phát sóng
: - thu nhận được phát sóng trong cơ sở ưu tiên
: - Chúng ta cũng có thể chỉ đơn giản là hủy bỏ phát sóng trong loại này
Phát sóng địa phương
: - chỉ sử dụng khi phát sóng chỉ được sử dụng bên trong cùng một quá trình
Chú ý Broadcast
: - bình thường quảng bá ý định không có sẵn nữa sau là đã gửi và xử lý bởi hệ thống.
: - sử dụng sendStickyBroadcast (Ý định)
: - mục đích tương ứng là dính, có nghĩa là mục đích bạn đang gửi ở lại xung quanh sau khi phát sóng xong.
: - vì điều này, những người khác có thể nhanh chóng truy xuất dữ liệu đó thông qua giá trị trả về của registerReceiver (BroadcastReceiver, IntentFilter).
: - ngoài điều này giống như sendBroadcast (Intent).
sendbroadcast()
- phát sóng bình thường, nhưng chúng tôi cũng có thể đặt mức độ ưu tiên.
sendstickybroadcast()
- mục đích được thông qua với điều này sẽ được áp dụng cho người dùng tương lai đăng ký thông qua mã (người nhận động). Chương trình phát sóng sẽ kết nối với android và sẽ được phát lại hoặc phát lại tới các yêu cầu trong tương lai từ bất kỳ người nhận phát sóng nào
Khi người nào đó gửi một quảng cáo cố định bằng cách sử dụng sendstickyBroadcast(intent);
thì phát sóng đó sẽ có sẵn cho người dùng trong tương lai đang sử dụng bộ thu động.
Nhưng Bây giờ bạn không nên sử dụng phương pháp sendStickyBroadcast()
nó bị phản đối
Từ Tài liệu Android:
Phương pháp này đã được tán thành trong mức API 21. chương trình phát sóng Chú ý nên không được sử dụng. Chúng không cung cấp bảo mật (bất kỳ ai cũng có thể truy cập chúng), không bảo vệ (bất kỳ ai cũng có thể sửa đổi chúng) và nhiều sự cố khác. Các mô hình khuyến cáo là sử dụng một phát sóng không dính để báo cáo rằng một cái gì đó đã thay đổi, với một cơ chế khác cho các ứng dụng để lấy giá trị hiện tại bất cứ khi nào mong muốn
Tôi hy vọng điều này sẽ giúp.
- 1. sự khác biệt giữa các loại chương trình phát sóng khác nhau trong android
- 2. Sự khác nhau giữa android: chiều rộng và android: layout_width
- 3. Sự khác nhau giữa android: layout_width và android: width
- 4. Sự khác nhau giữa onClickListener và onItemClickListener
- 5. Sự khác nhau giữa! = Và =! trong Java?
- 6. Sự khác nhau giữa | và || trong MATLAB?
- 7. Sự khác nhau giữa `% trong%` và `== '
- 8. Sự khác nhau giữa ViewFlipper và ViewSwitcher
- 9. Sự khác nhau giữa plugin Android NetBEANS và plugin Eclipse?
- 10. Sự khác nhau giữa trình duyệt Android Native và Chrome
- 11. Android: Sự khác nhau giữa BATTERY_STATUS_DISCHARGING và BATTERY_STATUS_NOT_CHARGING
- 12. Android: Sự khác nhau giữa Activity.runOnUiThread và View.post là gì?
- 13. Sự khác nhau giữa TVar và TMVar
- 14. Sự khác nhau giữa NoClassDefFoundError và ClassNotFoundException?
- 15. sự khác nhau giữa XSD và WSDL
- 16. Sự khác nhau giữa String.scan và String.split
- 17. Sự khác nhau giữa presentModalViewController và presentViewController?
- 18. Sự khác nhau giữa PyMODINIT_FUNC và PyModule_Create
- 19. Sự khác nhau giữa System.Web.Cache và HTTPContext.Curent.Cache
- 20. Sự khác nhau giữa innodb_log_buffer_size và innodb_buffer_pool_size
- 21. Sự khác nhau giữa objectForKey và valueForKey?
- 22. Sự khác nhau giữa System.DateTime.Now và System.DateTime.Today
- 23. Sự khác nhau giữa installshield và windowsinstaller
- 24. Sự khác nhau giữa ParameterInfo.DefaultValue và ParameterInfo.RawDefaultValue
- 25. Sự khác nhau giữa NSInvocationOperation và NSBlockOperation
- 26. Sự khác nhau giữa unwrapObservable và()
- 27. Sự khác nhau giữa ListBox và ListView
- 28. Sự khác nhau giữa REST và WebServices
- 29. Sự khác nhau giữa C: và C:/
- 30. Sự khác nhau giữa restartLoader và onContentChanged
Làm thế nào dính là ý định? Khi bạn gọi registerReceiver lần thứ hai, nó có trả về cùng ý định đó không? (Giả sử không có ý định bổ sung nào với hành động đó.) – phreed
Điều gì xảy ra với ý định dính trên: tắt nguồn? tắt màn hình? ... – phreed
@phreed: "Khi bạn gọi registerReceiver lần thứ hai, nó có trả về cùng một ý định không?" -- Vâng. "điện xuống?" - chúng biến mất, cũng giống như bất cứ thứ gì trong RAM. "tắt màn hình?" - không có hiệu lực. – CommonsWare