안드로이드 개발 질문/답변
(글 수 45,052)
서비스 작동을 멈춘 후에 다시 시작 하는 방법이 궁금합니다.
처음에 bindService 메서드를 이용하여
bindService(serviceIntent, mConnection, BIND_AUTO_CREATE);
이런식으로 서비스를 작동시키게 됩니다.
물론 onServiceConnected 메서드 안에
service = ICourse.Stub.asInterface(binder); 라는 구문이 있고요.
처음에는 service 가 잘 작동하는데
service를 멈추고 다시 시작하려고 하니깐 null 에러가 나네요.
제가 service를 멈추기 위해 사용한 방법은 service = null; 입니다.
시작은 동일하게 bindService(serviceIntent, mConnection, BIND_AUTO_CREATE);
이렇게 하고 있고요.
혹시나 해서 아래와 같이 죄다 해제해 줬는데도 안되네요.
service = null;
serviceIntent = null;
mConnection.onServiceDisconnected(null);
unregisterReceiver(receiverLocation);
unregisterReceiver(receiverRecording);
해제를 안하고 다시 시작하게 되면 전에 구동되던 쓰레드가 중복이 되어버리더라고요.
답변 부탁드립니다!
처음에 bindService 메서드를 이용하여
bindService(serviceIntent, mConnection, BIND_AUTO_CREATE);
이런식으로 서비스를 작동시키게 됩니다.
물론 onServiceConnected 메서드 안에
service = ICourse.Stub.asInterface(binder); 라는 구문이 있고요.
처음에는 service 가 잘 작동하는데
service를 멈추고 다시 시작하려고 하니깐 null 에러가 나네요.
제가 service를 멈추기 위해 사용한 방법은 service = null; 입니다.
시작은 동일하게 bindService(serviceIntent, mConnection, BIND_AUTO_CREATE);
이렇게 하고 있고요.
혹시나 해서 아래와 같이 죄다 해제해 줬는데도 안되네요.
service = null;
serviceIntent = null;
mConnection.onServiceDisconnected(null);
unregisterReceiver(receiverLocation);
unregisterReceiver(receiverRecording);
해제를 안하고 다시 시작하게 되면 전에 구동되던 쓰레드가 중복이 되어버리더라고요.
답변 부탁드립니다!
unbind도 해야되구요.