• Daum
  • |
  • 카페
  • |
  • 테이블
  • |
  • 메일
  • |
  • 카페앱 설치
 
슈퍼드로이드
 
 
 
카페 게시글
안드로이드 질문 Activity launchmode와 다른 activity 강제종료 방법 문의드립니다.
몽솅이 추천 0 조회 526 13.09.30 22:05 댓글 4
게시글 본문내용
 
다음검색
댓글
  • 13.10.02 01:19

    첫댓글 세부적인 환경을 알 수 없어 1차원 적인 답변만 드릴수 있겠네요.

    1. 가능합니다. 아마도 B가 A액티비티를 실행했을때만 종료하고 싶으시다면
    A에서 getCallingActivity() 함수를 통해 자신을 실행한 Activity의 ComponentName을 알 수 있으니
    자신을 실행한 종료시킬 수 있겠네요.

    2. 동적으로 standard intent를 줄 수는 없습니다.

    상황을 보면 매우 복잡하네요.
    전후 사정을 모르면 정확한 답은 드릴 수 없습니다. ^^; 이해 부탁드립니다.

  • 작성자 13.10.02 07:12

    네 세부적인 환경을 알려드리지 못해 어느정도 예상은 했습니다.^^;;
    1의 경우는 A->B 직접실행이 아니라 B는 launcher나 다른 app에서 접근입니다.
    (즉 A->B(B->A) 직접 호출하진 않습니다.)
    에고 초보라 어렵네요..

  • 13.10.02 13:21

    A,B는 서로 배타적인 관계인가 보군요.
    A가 뜬 상태에서 B가 뜨면 A가 종료되어야 하고...뭐그런..

    B가 구동될때 A 액티비티를 종료하시려면
    A 액티비티의 인스턴스를 가지고 있으셔야 겠네요.
    즉 A.finish() 를 사용해야 하니까요.

    그러므로 A 액티비티가 onCreate 에서 자신의 객체를
    static 변수 혹은 Application 객체 멤버변수에 담아 두고
    onDestory에서는 제거하는 과정이 있어야 겠네요.

    그 다음 B 액티비티에서 A 액티비티를 참조하여 finish 시키면 됩니다.

  • 13.10.02 13:25

    만일 A Activity에서 static 으로 담을 때에는

    public static Activity sAActivity = null;

    onCreate()
    {
    sAActivity = this;

    이렇게 하시면 될 것이고

    Application 객체로 처리하시려면 ...
    제 강좌중 http://cafe.daum.net/superdroid/aCJk/3 을 참조하시면 되겠습니다.

최신목록