綁定服務 ServiceConnection 沒有被回調 TabHost中

              各位用tabactivity和service的小朋友,一定注意咯
在Android開發的過程中,我們很有可能會使用到TabActivity來進行開發,而如果你的程序中需要針對TabActivity的 TabHost中的每一個Activity綁定一個Service,通常我們的做法是在對應Tab頁的Activity的onCreate()方法中進行 bind操作,但是通過實踐表明這個方法是無法達到綁定效果,在網上查了一下,發現在Google Android Issue中有這個缺陷,缺陷詳細信息在這裏(Google Android Issue 2483),三樓的oliver給出了正解

    Using getApplicationContext().bindService instead of just bindService on your
    activity solves the problem as it is using the higher level application context.

也就是在TabActivy的TabHost中的Activity如果需要bindService的話,需要先調用 getApplicationContext()獲取其所屬的Activity的上下文環境才能正常bindService,也就是在 onCreate()方法中使用this.getApplicationContext().bindService([args…])就可以了,否則 bindService將永遠失敗返回false。具體的代碼並沒有去查看,先記錄一下吧。
發佈了45 篇原創文章 · 獲贊 6 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章