我是一个初学者,他做了一个简单的程序来展示服务如何工作。为什么不调用onServiceConnected?
.....
toStartService = new Intent(this, SimpleService.class);
sc = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
Toast.makeText(MoreService.this, "SC: Binded", Toast.LENGTH_SHORT).show();
}
@Override
public void onServiceDisconnected(ComponentName name) {
Toast.makeText(MoreService.this, "SC: Unbinded", Toast.LENGTH_SHORT).show();
}
};
startService.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MoreService.this, "Starting Service", Toast.LENGTH_SHORT).show();
startService(toStartService);
}
});
stopService.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
stopService(toStartService);
}
});
bindService.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if((isBound = bindService(toStartService, sc, BIND_AUTO_CREATE))) {
}
}
});
unbindService.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isBound) {
unbindService(sc);
isBound = false;
}
}
});
}
为什么没有通过sc变量(在bindService())上调用sc.onServiceConnected()方法? 代码有什么问题?
我遇到了这个以下条件:
当我按下[startService]的 服务就开始了,然后 [stopService]服务采空井。
当我按[startService]然后[bindService]什么也不做,[unbindService]都没有。
- 当我按[bindService],它创建了服务,[stopService]没有工作。我按[unbindService]该服务正在调用onDestroy()方法。
为什么bindbin创建的服务在unbinded时被销毁?我尝试用startService启动服务,但无法绑定。
阿瑞帮助我,对不起,如果我错了。
我有完全相同的问题。现在我明白了为什么很多人讨厌Java ...... 无论如何,当你说“代码有什么问题”时要非常小心,因为在这个网站上有数百万假装“态度警察”,除了回答投票问题像你的。 – 2013-03-16 22:43:24