android 在activity中绑定一个服务失败

raindrophust 2011-02-12 11:00:21
请各位给我一些思路,我现在一个activity和一个service在统一进程,我startService后,在activity中去绑定该服务,但是绑定失败,不知道是什么原因导致的。各位有遇到这种情况的,请给个提示。。谢谢
...全文
670 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
LZHH_2008 2012-12-27
  • 打赏
  • 举报
回复
谢谢楼主,亲身经历的,找了半天,终于发现原因
n70joey 2011-11-09
  • 打赏
  • 举报
回复
但是我在tabactivity(父亲)里绑定服务时也失败。。。为啥呢。。。
xyg1990 2011-09-23
  • 打赏
  • 举报
回复
为什么我的子activity被destory掉service还是不能停止呢???求解
xyg1990 2011-09-23
  • 打赏
  • 举报
回复
非常感谢
raindrophust 2011-02-12
  • 打赏
  • 举报
回复
找到解决方法了,开心~~分享给各位用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。具体的代码并没有去查看,先记录一下吧。
raindrophust 2011-02-12
  • 打赏
  • 举报
回复
添加了,我的这个activity是tabactivity里的一个子activity,刚测了下,如果在tabactivity(父亲)里绑定服务时成功的,但是在孩子activity里就不行
dinjay 2011-02-12
  • 打赏
  • 举报
回复
肯定是落了哪步,有没有manifast中添加sevice?
a220315410 2011-02-12
  • 打赏
  • 举报
回复
谢谢楼主分享~
ameyume 2011-02-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 raindrophust 的回复:]
找到解决方法了,开心~~分享给各位用tabactivity和service的小朋友,一定注意咯
在Android开发的过程中,我们很有可能会使用到TabActivity来进行开发,而如果你的程序中需要针对TabActivity的 TabHost中的每一个Activity绑定一个Service,通常我们的做法是在对应Tab页的Activity的onCreate()方法中进行 bind操作,但是通过……
[/Quote]
恭喜楼主,没有用过很难知道是这个原因。

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧