4

我创建了一个名为 LocalService 的服务,我想绑定到它,以便它可以执行一些操作并将结果返回给调用客户端。我一直在尝试让android dev 站点的示例正常工作,但 eclipse 在此方法上给出了编译时错误:

void doBindService() {
    // Establish a connection with the service. We use an explicit
    // class name because we want a specific service implementation that
    // we know will be running in our own process (and thus won't be
    // supporting component replacement by other applications).
    bindService(new Intent(Binding.this, LocalService.class), mConnection, Context.BIND_AUTO_CREATE);
    mIsBound = true;
}

“Binding.this”下有一条红线,eclipse给了我:无法将绑定解析为类型。我能做些什么?

4

2 回答 2

5

只需删除 Binding,代码应如下所示:

bindService(new Intent(this, LocalService.class), mConnection, Context.BIND_AUTO_CREATE);

构造函数的第一个参数IntentContext。如果您从 Activity 类调用上面的代码(任何 Activity 实例也是 Context ),则上面的代码将起作用。如果没有,您始终可以使用应用程序上下文

于 2012-09-11T15:00:21.700 回答
1

看起来Binding只是您输入的类名doBindService()(很可能是 Activity?)。如果您的班级以其他方式命名,请将其重命名为Binding或全部Binding.this替换MyClass.thisthis.

于 2012-09-11T14:59:21.090 回答