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

타이머를 이용해서 view종료하는데 자꾸 살아납니다.

0 추천
package pe.sbk.alwaysontop;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
 
import android.app.Activity;  
import android.os.Bundle;  
import android.os.CountDownTimer;  
import android.util.Log;  
import android.view.Menu;  
import android.view.MotionEvent; 
 
public class AlwaysOnTopActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
 
private int mnMilliSecond = 1000;  
    private int mnExitDelay = 15;  
  
    CountDownTimer timer;   
  
    private int value = 0; 
    
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
value = 0;  
int delay = mnExitDelay * mnMilliSecond;  
 
       
startService(new Intent(this, AlwaysOnTopService.class));
 
//stopService(new Intent(this, AlwaysOnTopService.class));
timer = new CountDownTimer(delay, 5) {  
            @Override  
            public void onFinish() {  
            
            moveTaskToBack(true);
                finish();  
               android.os.Process.killProcess(android.os.Process.myPid());
                
            }  
      
            @Override  
            public void onTick(long millisUntilFinished) {  
                value++;  
                Log.v("MyAutoExit", Integer.toString(value));  
            }  
        };  
      //  stopService(new Intent(this, AlwaysOnTopService.class));
        timer.start();  
}
 
// findViewById(R.id.start).setOnClickListener(this); //시작버튼
//findViewById(R.id.end).setOnClickListener(this); //중시버튼
    
@Override
public void onDestroy(){
 
}
public void onClick(View v) {
 
 
}
}
 
 
finish에서 강제로 종료를 시켜도 topview가 자꾸 살아는데 어디서 stopservice를 해야할지 모르겟습니다..
익명사용자 님이 2014년 6월 4일 질문

1개의 답변

0 추천
finish(); call을 하게되면 onDestroy()를 타게 됩니다.

저기에서 stopService와 Process kill을 해보시고 "android.os.Process.killProcess(android.os.Process.myPid());"

그리고 Timer 쪽은 종료 해줄 필요가 없는건가요?
카라드레스 (2,910 포인트) 님이 2014년 6월 8일 답변
...