我创建了一个名为LocalService的服务,我想绑定它,以便它可以执行某些操作并将结果返回给调用客户端。我一直试图让example of the android dev site工作,但是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给了我:绑定无法解析为某种类型。我该怎么办?
答案 0 :(得分:5)
只需删除Binding,代码应如下所示:
bindService(new Intent(this, LocalService.class), mConnection, Context.BIND_AUTO_CREATE);
Intent
构造函数的第一个参数是Context。如果从Activity类中调用它,则上面的代码将起作用(Activity的任何实例也是Context)。如果没有,您可以随时使用应用程序上下文
答案 1 :(得分:1)
看起来Binding
只是你放入doBindService()
的类名(很可能是Activity?)。如果您的课程被命名,则将其重命名为Binding
或将所有Binding.this
替换为MyClass.this
或仅this
。