2015-02-10 59 views
11

有沒有一種方法可以從上下文獲取應用程序。我注意到activity和service有getApplication()方法,但Context沒有。如何從上下文獲得應用程序

背景:

我使用/延長GCMBaseIntentService和

protected abstract void onMessage (Context context, Intent intent) 

給了我一個上下文作爲參數。我想獲得Application對象,所以我可以把它向下轉換到所有MyApplication和檢索一些變量

感謝

+0

(YourApplicationClass)context.getApplicationContext() – Leonidos 2015-02-10 19:40:41

回答

21

Context#getApplicationContext將返回你Application實例。

+0

怎麼會這樣?文檔說它將返回當前進程的單個全局應用程序對象的**上下文**。返回類型是'Context',而不是'Application'。 'Context'是'Application'的祖先類,但是你怎麼知道'getApplicationContext()'會返回'Application'實例?我懷疑你可能是對的,但我希望看到一個同意的權威來源。 – LarsH 2017-10-25 15:10:47

+2

例如見https://stackoverflow.com/questions/5018545/getapplication-vs-getapplicationcontext它說,'getApplicationContext()'會不會** **總是返回相同的對象作爲你的'Application'實例。 – LarsH 2017-10-25 15:23:10

相關問題