2017-08-31 13 views
6

Chúng ta sắp cập nhật của chúng tôi API App Android 26. Trong tài liệu về Broadcast receiver nó nói rằngViệc đăng ký BOOT_COMPLETED nhận trong Android 8

Apps nhắm mục tiêu Android 8.0 hoặc cao hơn không còn có thể đăng ký nhận quảng bá cho chương trình phát sóng ngầm trong manifest

thu phát sóng ngầm của họ được mô tả như

một phát sóng mà không nhắm mục tiêu ứng dụng đó cụ thể. Ví dụ: ACTION_PACKAGE_REPLACED

Vì vậy, tôi giả định rằng android.intent.action.BOOT_COMPLETED được coi là người nhận ngầm.

Hơn nữa, nó cho biết rằng người nhận tiềm ẩn phải được đăng ký trong một Activity bằng cách sử dụng Context.registerReceiver(). Nhưng điều đó sẽ không có ý nghĩa đối với một người nhận, đó là lắng nghe sự kiện BOOT_COMPLETED.

Cách thích hợp để xử lý việc này là gì? Tôi có thể giữ máy thu này trong bản kê khai của mình không?

+4

[Ngoại lệ phát sóng ngầm] (https://developer.android.com/guide/components/broadcast-exceptions.html). –

Trả lời

6

ACTION_BOOT_COMPLETED là trên the implicit broadcast whitelist và bạn có thể đăng ký nó trong tệp kê khai.

+0

Tôi đã tự hỏi rằng những gì về ứng dụng Android bản địa? Tôi không thể quản lý để thực hiện ngay cả 'BOOT_COMPLETED', họ phải được thực hiện (tôi đoán). Thay đổi này bắt đầu tại API 26 và API hiện tại là 27. Bạn có ý tưởng gì không? – efkan

+0

@efkan: Xin lỗi, nhưng tôi không hiểu bình luận của bạn. Bạn có thể muốn hỏi một câu hỏi Stack Overflow riêng biệt, nơi bạn giải thích chi tiết hơn về mối quan tâm của bạn. – CommonsWare

+0

Tôi xin lỗi .. Tôi có nghĩa là các nhà phát triển Google có nghĩa vụ phải sử dụng API 27 để phát triển các ứng dụng gốc của họ như ứng dụng SMS, Duo hoặc Google Drive. Tôi đã tự hỏi rằng làm thế nào để họ quản lý để bắt đầu ứng dụng của họ bằng cách sử dụng hành động 'BOOT_COMPLETED' hoặc sử dụng một cách khác? Bạn có bất kỳ ý tưởng về điều này? – efkan

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