我是一個初學者,他做了一個簡單的程序來展示服務如何工作。爲什麼不調用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