首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onServiceConnected()未调用

onServiceConnected()未调用
EN

Stack Overflow用户
提问于 2011-10-24 11:47:57
回答 8查看 24.7K关注 0票数 21

我在使用后台服务方面有问题。

我使用的服务来自两个活动。

第一个活动使用startService(intent)启动Service,并使用bindService(intent, mConnection, Context.BIND_AUTO_CREATE);绑定到它

这个功能非常好,我可以在onServiceConnected()中发送一个onServiceConnected()

第二个活动只绑定到Service (因为它已经启动),再次使用bindService(intent, mConnection, Context.BIND_AUTO_CREATE);

现在我的问题是:

在第二个活动中,我有一个Button,它应该在我按下服务时使用它。

但是,在这个活动中从未调用过onServiceConnected(),因此我无法获得绑定器来创建一个Messenger来将一个Message发送到服务器。

有人知道onServiceConnected()何时被准确调用,或者它可能在等待什么吗?

或者其他的东西来解决这个问题?

编辑: bindService返回false,会导致什么原因?

提前感谢

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-10-25 07:16:56

经过进一步的研究,我发现这在Android系统中是一个众所周知的问题。

我所说的第二个活动是一个活动,它被用作TabActivity中的内容。

解决这个问题的方法是在应用程序上下文中调用bindService(...),而不是使用getApplicationContext().bindService(...)调用活动上下文。

票数 30
EN

Stack Overflow用户

发布于 2013-10-28 13:38:30

你需要加上:

<service android:name="package.path.to.your.service.class" android:enabled="true"></service>

在Android清单文件中。

票数 35
EN

Stack Overflow用户

发布于 2013-06-03 19:55:25

在清单中添加绑定。

代码语言:javascript
复制
 <service
            android:name=".MyAccessibilityService"
            android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" >
            <intent-filter>
                <action android:name="android.accessibilityservice.AccessibilityService" />
            </intent-filter>

</service>

MyAccessibilityService您的服务名称。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7875131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档