【发布时间】:2010-09-25 03:17:39
【问题描述】:
我是一个初学者,我做了一个简单的程序来展示服务的工作原理。
.....
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() 方法。
为什么bindService创建的服务解绑后会被销毁?我尝试使用 startService 启动服务,但无法绑定。
Arrgh help mee,如果我错了,对不起。
【问题讨论】:
-
我也有同样的问题。现在我明白为什么很多人讨厌 Java ......无论如何,当你说“代码有什么问题”时要非常小心,因为这个网站上有数百万假装“态度警察”,他们什么都不做,只是围绕着投票否决这样的问题你的。
标签: android