2012-08-16 34 views
7

Tôi muốn sử dụng app = (MyApplication)getApplication(); trong BroadcastReceivergetApplication trong BroadcastReceiver trong android

tôi đang sử dụng thi liên kết: http://www.devahead.com/blog/tag/application/

nhưng getApplication không lối thoát trong BroadcastReceiver, Làm thế nào tôi có thể sử dụng nó?

tôi cần nó, vì tôi muốn chia sẻ dữ liệu giữa hai BroadcastReceiver

+0

Tôi không nghĩ rằng nó có thể, bởi vì afaik 'BroadcastReceiver' không có ngữ cảnh. Và bạn chỉ có thể 'getApplication()' khi bạn có một 'Context'. Có thể cố gắng viết chính xác những gì bạn đang cố gắng đạt được, nó sẽ dễ dàng hơn để tìm một giải pháp khác –

+0

cảm ơn bạn. Nhưng tôi đang cố gắng để sned dữ liệu tài sản từ một người nhận khác. Tôi muốn rằng một số mã trong người nhận 1 sẽ không thực thi nếu người phát hiện 2 không làm việc gì đó ... – senzacionale

Trả lời

3

bạn BroadcastReceiver có một phương pháp onReceive(Context ctx, Intent intent) được gọi để nhận được một tin nhắn ... bạn đang được trao tận tay một bối cảnh.

+0

cảm ơn bạn. Tôi đang đọc http://stackoverflow.com/questions/5018545/getapplication-vs-getapplicationcontext này nói rằng không cần thiết tôi sẽ nhận được cá thể ứng dụng. Vì vậy, những gì tôi đang cố gắng làm. Tôi đang cố gắng thu thập dữ liệu tài sản từ người nhận này sang người nhận khác. Tôi muốn rằng một số mã trong người nhận 1 sẽ không thực hiện nếu Rceiver 2 đã không làm someething ... là cách này đúng với ứng dụng? – senzacionale

+1

Bạn có thể không nhận được một ngữ cảnh ứng dụng trực tiếp tuy nhiên bạn không quan tâm vì bạn có thể gọi 'ctx.getApplicationContext()' để nhận một ngữ cảnh. Đối với các chi tiết cụ thể về những gì bạn đang cố gắng hoàn thành, có nhiều cách để giải quyết vấn đề đó và tùy chọn "đúng" phụ thuộc vào các yếu tố nằm ngoài phạm vi câu hỏi của bạn hoặc thậm chí là câu hỏi thích hợp cho stackoverflow. Một số khả năng mặc dù bao gồm các giá trị SharedProperty đơn giản, các phương thức lớp Singleton, một dịch vụ cục bộ để thiết lập/nhận các thuộc tính và nhiều bộ thu phát sóng; Không có ai trả lời đúng. – mah

+2

Nhưng 'getApplicationContext()' không phải là 'getApplication()'. Không phải là có thể '(Application) getApplicationContext()' sẽ thất bại? – Timmmm

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