我目前有一个服务运行良好,当我启动它,但是当我尝试停止它使用stopService方法,它的onDestroy方法不被调用。
这是我试图停止服务的代码
stop_Scan_Button =(Button)findViewById(R.id.stopScanButton);
stop_Scan_Button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Log.d("DEBUGSERVICE", "Stop Button pressed");
Intent service = new Intent(CiceroEngine. CICERO_SERVICE);
releaseBind();
Log.d("Stop_Scan_Button", "Service: " + service.toString());
stopService(service);
Log.d("Stop_Scan_Button", "Service should stop! ");
}
});
我正确的想到当使用stopService时,会调用该服务的onDestroy方法吗?当我按下停止扫描按钮时,我的服务中的onDestroy()方法不会被调用。
还有什么我失踪的,我应该放弃停止服务?
编辑:在stopService运行而不是onServiceDisconnected()时调用onServiceConnected()被调用,为什么会发生这种情况?
编辑:要添加更多信息,请参阅Binding
我在onCreate()方法中调用bindService,然后releaseBind()方法取消绑定服务。
以下是该方法的代码:
public void releaseBind(){
unbindService(this);
}
所以我假定解开不是我的问题?