Android TabActivity 无法正常 bindService 解决方法

在 Android 开发的过程中,我们很有可能会使用到 TabActivity 来进行开发,而如果你的程序中需要针对 TabActivity 的 TabHost 中的每一个 Activity 绑定一个 Service,通常我们的做法是在对应 Tab 页的 Activity 的 onCreate() 方法中进行 bind 操作,但是通过实践表明这个方法是无法达到绑定效果,在网上查了一下,发现在 Google Android Issue 中有这个缺陷,缺陷详细信息在 这里 (Google Android Issue 2483),三楼的 oliver 给出了正解

也就是在 TabActivy 的 TabHost 中的 Activity 如果需要 bindService 的话,需要先调用 getApplicationContext() 获取其所属的 Activity 的上下文环境才能正常 bindService,也就是在 onCreate() 方法中使用 this.getApplicationContext().bindService([args…]) 就可以了, 否则 bindService 将永远失败返回 false。具体的代码并没有去查看,先记录一下吧。

====================明天是个好天气=======================