嘿,我有一個Android應用程序,我在後臺線程中監控gmail服務器..這個線程無限運行...在郵箱中獲取郵件我必須做一個toast..but我無法獲取當前活動的上下文(因爲應用程序中有多個活動)......如何獲取當前正在運行的活動的上下文,或者可能是應用程序..getApplicationcontext給出null。在java中獲取上下文android
回答
您可以通過調用Class名稱來獲取Activity的上下文。舉例來說,如果你的活動就叫做從內MainActivity
可以通過鍵入獲得上下文:
Context context = this;
如果您運行的是Activity
或Service
,既是Context
自己,所以叫this
足矣。對於監聽器的任何回調方法,this
將引用監聽器,而不是Activity
。您可以參考Context
使用任何View
:
Context context = myView.getContext();
我沒有運行一項活動或服務,我正在運行一個單獨的線程,因爲此監控需要無限運行的線程..我不能使用將阻止我在前臺的其他活動的服務。 – user741855 2011-05-07 05:06:41
但是這個線程一定是在某個地方啓動的。在你的'Runnable'類中創建一個指向原始'Activity'的字段(你可以在構造函數本身中創建'MyRunnable = new MyRunnable(this);' – Aleadam 2011-05-07 05:10:43
我試過了dat,但是當我從線程吐司時, looper錯誤的東西就像looper沒有準備好.. – user741855 2011-05-07 05:20:32
使用這或getApplicationContext()來獲得當前的上下文。 例如,
Context mContext=this;
或
Context mContext=getApplicationContext();
如果actvity一些tabHost的任何子女Acivity,然後嘗試 的getParent()。getApplicationContext()也。
getApplicationContext()對我很好用,需要在Camera PictureTaken Listener中使用。謝謝! – rsc 2014-04-20 02:39:23
在祝酒詞和聽衆和無處不在,如果你需要得到資源,你可以使用
Resources.getSystem().getString(android.R.string.cancel)
它絕對萬能的位置,但僅支持系統資源。
- 1. 在Android中獲取片段上下文
- 2. 獲取上下文中片段的Android
- 3. android獲取android庫上下文與應用上下文
- 4. Java類獲取兩次Mylyn上下文
- 5. 獲取上下文中Process.java
- 6. 從Android獲取上下文Activiy
- 7. 從字符串獲取上下文(Android)
- 8. Android ActivityInstrumentationTestCase2獲取上下文的NullPointerException
- 9. Android DataBinding從哪裏獲取上下文?
- 10. 在OnCreate中獲取上下文在SQLiteOpenHelper
- 11. 在java web應用程序中獲取上下文路徑
- 12. Java如何在getCount()的PageAdapter中獲取上下文?
- 13. 在CustomView類中獲取MainActivity上下文
- 14. 在NUnit測試中獲取上下文
- 15. 在轉換器中獲取上下文?
- 16. 如何在GameSurfaceView中獲取上下文?
- 17. 在Firebase中獲取上下文valueEventListener
- 18. 直接在PagerAdapter中獲取上下文?
- 19. 在googlemapsactivity中獲取上下文
- 20. 如何在onActivityResult中獲取上下文?
- 21. Android,如何在C2DMReceiver構造函數中獲取上下文?
- 22. 在Xamarin中從後臺線程獲取上下文Android
- 23. 如何在appium項目中獲取Android Activity上下文?
- 24. 在適配器中獲取android上下文
- 25. 如何在BeanShell for SL4A中獲取Android上下文?
- 26. 如何在Android中獲取OnCheckedChangeListener的上下文
- 27. 在Android上獲取上下文的靜態方式 - 安全嗎?
- 28. 在Android上獲取Java字節碼
- 29. android源文件中的藍牙獲取上下文
- 30. Xamarin獲取ListItem上下文
actviity是一些tabHost的孩子......? – 2011-05-07 04:53:19
您可以發佈一些代碼,因爲如果您有一個名爲ActMain的活動,然後從中調用ActMain.this或getApplicationContext(),它們應該可以工作。 – 2011-05-07 04:53:41