안드로이드 어플리케이션 종료 방법

프로그래밍|2013.04.02 06:00

안드로이드 어플리케이션 종료 방법


안녕하세요^^ 안드로이드 프로그래밍에 관련된 포스팅을 오랜만에 하는 군요.^^
안드로이드 프로그래밍을 하면서 Intent라는 명령어를 간 혹 쓰기도 하는데, Intent는 다른 액티비티로 넘어 갈 때나 변수에 있는 값을 넘겨줄 때 많이 사용하기도 합니다. 어플을 종료를 하게 만들어야 되는데 가량 대부분 finish()라는 명령어를 쓰고 있습니다.


finish() 명령어는 액티비티에서 종료만 되고 다른 액티비티는 종료가 되질 않습니다. 쉽게 설명을 드리면 메인 액티비티에서 버튼 클릭후 Intent를 사용하여서 다른 액티비티로 넘어갔습니다. 다른 액티비티에 넘어간 상태에서 종료 버튼에 명령어를 finish()를 사용을 하면 현재 새로운 액티비티만 종료가 되고 나머지 액티비티는 종료가 되지 않게 되어 버립니다. 이런 부분이 참 난감할 때가 있습니다.


프로그래밍을 하다가 이런 것들 때문에 고민을 하기도 합니다. 어플리케이션하고 프로세서를 완전히 종료를 시켜야되는데 제대로 종료를 해버리는 명령어를 모르셔서 애태우시는 분들을 위해서 알려드리겠습니다. 안드로이드 초보분 들도 쉽게 따라하실 수 있는 내용입니다.
그저 명령어 몇 줄만 넣으면 완전히 액티비티가 종료되어 버립니다.

제가 예를 들어서 설명을 해드리겠습니다. 저도 프로그래밍을 직업으로 삼고 있으니 코딩을 해야겠네요. 간단 코딩입니다. 반복 그리고 꾸준히 해야되는 것입니다.

새로 프로젝트를 생성을 하여서 만들었습니다. 정말 간단히 만들어서 누구나 따라하실 수 있습니다. 소스까지 공개를 해드리겠습니다.



새롭게 생성된 프로젝트에서 액티비티에 버튼 두 개를 추가를 해 놓았습니다. 들어가기, 종료 버튼입니다. 들어가기 버튼을 누르게 되면 새로운 액티비티가 나옵니다. 마찬가지 새로운 액티비티에서는 종료 버튼이 있습니다.



간단한 구조로 되어 있습니다. 들어가기 버튼을 누르면 새로운 액티비티가 나옵니다. 여기에서 종료를 누르게 되면 새로운 액티비티가 종료가 되고, 새로운 액티비티가 종료된 상태에서 처음에 있던 액티비티에 있던 종료버튼을 누르게 되면 완전히 어플리케이션이 종료가 되어 버립니다.



어플리케이션을 완전히 종료하는 명령어는 다음과 같습니다.


moveTaskToBack(true);
finish();
android.os.Process.killProcess(android.os.Process.myPid());

위의 명령어만 새로운 액티비에서 버튼 쪽에 적용시키시면 새로운 액티비티에서 종료버튼을 누르게 되면 전체 종료가 될 것 입니다. 어플이 아예 종료되어 버립니다.

여러분들을 위해 소스를 공개해드리겠습니다.

IntenttestActivity.java

package kr.dpu.intenttest;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class IntenttestActivity extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button btnnext = (Button)findViewById(R.id.btnnext);
        Button btnexit = (Button)findViewById(R.id.btnexit);
       
        btnnext.setOnClickListener(this);
        btnexit.setOnClickListener(this);
    }
    public void onClick(View v) {
     // TODO Auto-generated method stub
     switch(v.getId()) {
     case R.id.btnnext :
      Intent intent = new Intent(this, newActivity.class);
      startActivity(intent);
      break;
     case R.id.btnexit :
      moveTaskToBack(true);
      finish();
      android.os.Process.killProcess(android.os.Process.myPid());
      break;
     }
    }
}


main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <Button
        android:id="@+id/btnnext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="들어가기" />
    <Button
        android:id="@+id/btnexit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="종료" />
</LinearLayout>


newActivity.java

package kr.dpu.intenttest;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class newActivity extends Activity implements OnClickListener{
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.new_main);
    
     Button btnexit = (Button)findViewById(R.id.btnexit);
     btnexit.setOnClickListener(this);
 }
 public void onClick(View v) {
  // TODO Auto-generated method stub
  finish();
 }
}


new_main.java

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="새로운 액티비티"
        android:textAppearance="?android:attr/textAppearanceLarge" />
    <Button
        android:id="@+id/btnexit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="종료" />
</LinearLayout>

java, xml소스입니다. 여러분들께 많은 도움이 되시길 바라면서 포스팅을 마치겠습니다.^^
오늘도 행복한 하루되시길 기원합니다.~!

댓글()
  1. Favicon of https://0601.tistory.com BlogIcon 씩씩맘 2013.04.02 07:54 신고 댓글주소  수정/삭제  댓글쓰기

    좋은 정보 잘 보고 갑니다.
    즐거운 하루 보내세요.

  2. Favicon of https://bunyangfocus.tistory.com BlogIcon 날으는 캡틴 2013.04.02 11:22 신고 댓글주소  수정/삭제  댓글쓰기

    좋은 정보네요..
    안드로이드 쓰시는 분들에게 도움이 될것 같아요..

  3. Favicon of https://yoona80.tistory.com BlogIcon 유나카라멜 2013.04.02 11:29 신고 댓글주소  수정/삭제  댓글쓰기

    우워 천재이 신 가봐요.. 이런건 아무나 할 수 있는게 아닌 거 같아요 ㅜㅜ 안드로이드 어플 이런것도 만드시나 보죠
    아무튼 대단 하세요 . 그럼 오늘도 좋은 하루 되시구요 담에 또 올께요^o^

  4. Favicon of https://happyqueen.tistory.com BlogIcon 가을사나이 2013.04.02 11:29 신고 댓글주소  수정/삭제  댓글쓰기

    유익한정보 잘보고갑니다

  5. Favicon of https://hansik07.tistory.com BlogIcon Hansik's Drink 2013.04.02 12:14 신고 댓글주소  수정/삭제  댓글쓰기

    잘 알아 간답니다~^^
    좋은 하루를 보내세요~

  6. Favicon of http://life-lineup.tistory.com BlogIcon +요롱이+ 2013.04.02 12:35 신고 댓글주소  수정/삭제  댓글쓰기

    너무 잘 보고 갑니다.
    아무쪼록 평안한 오후 되시기 바랍니다.

  7. Favicon of http://stockm.tistory.com BlogIcon S매니저 2013.04.02 13:45 신고 댓글주소  수정/삭제  댓글쓰기

    안드로이드 어플 종료 방법 알려주셔서 감사합니다^^
    너무 잘 보고 갑니다!

  8. Favicon of https://happymanagers.tistory.com BlogIcon 해피 매니저 2013.04.02 14:13 신고 댓글주소  수정/삭제  댓글쓰기

    어플 종료 방법에 대해 알려주셨네요
    잘 알아 갑니다.^^

  9. Favicon of https://nimpopoyes.tistory.com BlogIcon 톡톡 정보 2013.04.02 14:53 신고 댓글주소  수정/삭제  댓글쓰기

    좋은 정보 잘 보고 갑니다.
    즐거운 오후 보내세요^^

  10. Favicon of https://withdragon.tistory.com BlogIcon 도도한 피터팬 2013.04.02 15:19 신고 댓글주소  수정/삭제  댓글쓰기

    잘 보고 갑니다~ 행복한 하루 되세요

  11. Favicon of https://cbdok.tistory.com BlogIcon 명태랑 짜오기 2013.04.02 15:29 신고 댓글주소  수정/삭제  댓글쓰기

    좋은 정보 잘 보고 갑니다.
    오늘도 즐거운 시간 되세요^^

  12. Favicon of http://aduyt.tistory.com BlogIcon 어듀이트 2013.04.02 20:26 신고 댓글주소  수정/삭제  댓글쓰기

    어플리케이션 종료방법 잘 보고 갑니다`
    편안한밤 되시길 바래요`

  13. Favicon of http://plmoknn.tistory.com BlogIcon 단버리 2013.04.02 22:05 신고 댓글주소  수정/삭제  댓글쓰기

    좋은 정보 잘 얻어갑니다~
    편안한 저녁 되시길 바래요~

  14. Favicon of https://datafile.tistory.com BlogIcon 신기한별 2013.04.02 23:10 신고 댓글주소  수정/삭제  댓글쓰기

    안드로이드 어플종료방법 잘 보고 갑니다.

  15. 상호준호 2013.04.04 22:01 댓글주소  수정/삭제  댓글쓰기

    안드로이드 폰 사용 중인데 좋은 종료 방법 알고 가네요. 좋은 정보 감사합니다. 잘 보고 갑니다.

  16. 김동호 2013.09.05 00:00 댓글주소  수정/삭제  댓글쓰기

    감사합니다 배우고가요ㅋ