2015-02-10 19 views
11

Có cách nào tôi có thể lấy ứng dụng từ Ngữ cảnh hay không. Tôi nhận thấy rằng hoạt động và dịch vụ có phương thức getApplication() nhưng Context thì không.Cách nhận Đơn đăng ký từ Bối cảnh

Bối cảnh:

Tôi đang sử dụng/mở rộng GCMBaseIntentService và

protected abstract void onMessage (Context context, Intent intent) 

mang lại cho tôi một bối cảnh như một tham số. Tôi muốn để có được các đối tượng ứng dụng để tôi có thể nhìn xuống nó để MyApplication và lấy một số biến

Cảm ơn

+0

(YourApplicationClass) context.getApplicationContext() – Leonidos

Trả lời

21

Context#getApplicationContext sẽ trở lại Application dụ của bạn.

+0

Làm thế nào? Các tài liệu nói rằng nó sẽ trả về "ngữ cảnh ** ** của đối tượng Application đơn lẻ, toàn cầu của tiến trình hiện tại." Kiểu trả về là 'Context', không phải' Application'. 'Context' là một lớp tổ tiên của' Application', nhưng làm thế nào để bạn biết rằng 'getApplicationContext()' sẽ trả về cá thể 'Application'? Tôi nghi ngờ bạn có thể đúng, nhưng tôi muốn thấy một nguồn có thẩm quyền đồng ý. – LarsH

+2

Xem ví dụ https://stackoverflow.com/questions/5018545/getapplication-vs-getapplicationcontext cho biết rằng 'getApplicationContext()' sẽ ** không ** luôn trả về cùng một đối tượng như cá thể 'Application' của bạn. – LarsH

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