마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

service onDestory() 질문드립니다.

0 추천

서비스를 시작하는건 정상적으로 작동을 합니다.

Button disconnection = findViewById(R.id.disconnection);
        disconnection.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                Toast.makeText(getApplicationContext(),"Service 중지", Toast.LENGTH_SHORT).show();
                Intent intent = new Intent(FrontMenu.this, SocketService.class);
                stopService(intent);
        }
        });

이러한 버튼을 만들고 서비스에서는 다음 코드를 실행하는걸로 알고 있습니다.

public void onDestory() {
        thread.stopForever();
        thread = null; //
    }

다음 Thread단의 stopForever() 입니다.

public void stopForever() {
        synchronized (this){
            this.isRun = false;
        }
    }

    public void run(){

        while(isRun){
            handler.sendEmptyMessage(0); //쓰레드에 있는 핸들러에게 메세지를 보냄
            try{
                Thread.sleep(5000);
            }catch (Exception e){

            }

        }
    }

정말 열심히 찾아보다가 안되서 이렇게 질문을 올립니다.. 어떤 부분에서 문제가 생기는걸까요 ..

파워코딩 (960 포인트) 님이 2018년 5월 2일 질문
질문이 무엇인가요???
아 죄송합니다... onDestory()가 먹히질않습니다..

1개의 답변

0 추천
bindService()에 의해 종료시키려는 Service와 bind된 component가 있다면

stopService()에 의해 Service가 바로 종료되지 않습니다.

혹시, Service에 bind된 component가 남아있는 상황은 아닌지요?
디자이너정 (42,810 포인트) 님이 2018년 5월 2일 답변
죄송합니다.. 답변까지 달아주셨는데 ... 마지막 문장을 이해를 잘 못하겠습니다 ...
...