2012-07-03 30 views
13

Tôi có một phần mở rộng của lớp Ứng dụng mà tôi cần để có được tài liệu tham khảo trong một BroadcastReceiver tôi đã tạo ra. Ngữ cảnh được truyền vào "onReceive" là một ngữ cảnh bị hạn chế. Có cách nào để có được tham chiếu đến bối cảnh ứng dụng thực tế?Cách lấy ngữ cảnh ứng dụng từ bộ thu phát sóng?

+0

Điều gì khiến bạn nói rằng nó bị hạn chế. Cụ thể bạn đang cố gắng làm gì với bối cảnh? – FoamyGuy

+0

Bởi vì lớp thực tế của bối cảnh cho onReceive là kiểu ReceiveRestrictedContext. Tôi có một phần mở rộng của các ứng dụng cho phép tôi để không tĩnh có được tham chiếu đến một số đối tượng tôi cần. – predhme

Trả lời

28

Gọi getApplicationContext() trên số Context được cung cấp cho bạn trong onReceive(), giống như bạn gọi getApplicationContext() trên Activity.

Tôi có phần mở rộng của Ứng dụng cho phép tôi tham khảo không tĩnh để tham chiếu đến một số đối tượng tôi cần.

Trong khi cú pháp Application không tĩnh, nó có tác động tương tự, đặc biệt là đối với rò rỉ bộ nhớ.

+1

Cảm ơn. Tôi sẽ thử điều này ngay khi tôi có thể trả lời câu trả lời của bạn. – predhme

+0

Điều đó làm việc cảm ơn bạn. Tôi thề rằng tôi đã thử nhưng tôi đoán là không. – predhme

0

BroadcastReceiver đã cung cấp ngữ cảnh. Nhìn vào onReceive.

public void onReceive(Context context, Intent intent) 
Các vấn đề liên quan