2012-07-03 25 views
13

我有一個應用程序類的擴展,我需要在我創建的BroadcastReceiver中獲取引用。傳遞給「onReceive」的上下文是一個受限制的上下文。有沒有辦法獲得對實際應用上下文的引用?如何從廣播接收器獲取應用程序上下文?

+0

是什麼讓你說它受到限制。你在具體情況下想要做什麼? – FoamyGuy

+0

因爲onReceive的上下文的實際類是ReceiverRestrictedContext類型的。我有一個應用程序的擴展,它允許我非靜態地獲得我需要的幾個對象的引用。 – predhme

回答

28

致電getApplicationContext()ContextonReceive()提供給您,就像您在Activity上撥打getApplicationContext()一樣。

我有一個應用程序的擴展,它允許我非靜態地獲取我需要的幾個對象的引用。

雖然語法上Application不是靜態的,但它具有相同的影響,特別是在內存泄漏方面。

+1

謝謝。我會盡快回復你的回答。 – predhme

+0

工作感謝你。我發誓我已經嘗試過,但我想我沒有。 – predhme

0

BroadcastReceiver已經給出了上下文。看看onReceive。

public void onReceive(Context context, Intent intent)