2013-08-10 2 views
0

ActivityA에서 ActivityB을 시작하여 을 사용하고 나서 CountDownTimer을 시작합니다. 이제 제한 시간이 지나면 ActivityB을 끝내고 ActivityA을 다시 포 그라운드에두고 싶습니다. Activity을 다른 사람으로부터 막을 수 있습니까?시간 초과시 활동 중지

+1

타이머 작업, 카운트 다운 타이머 또는 필요할 때 처리기 호출'finish()'를 사용할 수 있습니다. http://stackoverflow.com/questions/17839419/android-thread-for-a-timer/17839725# 17839725 – Raghunandan

+1

** "다른 활동을 중지 할 수 있습니까?"** - 아니요. ActivityB가 실행 중 상태가되면 ActivityA는 일시 중지 또는 중지 상태가됩니다. 드문 시나리오에서 시스템 자원이 적을 때 ActivityA가 OS에 의해 파괴 될 수도 있습니다. codeMagic이 암시 하듯이, 최선의 방법은 ActivityB 자체 종료 (self-terminate)를하는 것입니다. 그러나, 말하자면, 나는 당신이 성취하고자하는 바를 생각할 수없고, 왜 그렇게하고 싶은지를 생각할 수 없습니다. – Squonk

답변

6

활동 B에 이렇게 -

// 30 seconds coundowntimer 
new CountDownTimer(30000, 1000) { 

    public void onTick(long millisUntilFinished) { 

    } 

    public void onFinish() { 
     finish() // finish ActivityB 
    } 
    }.start(); 

당신이 ActivityB를 시작할 때 ActivityA에 마무리로 전화하거나 onFinish()singleInstance 그렇지 않으면 대신 finish() 전화 startActivity(ActivityB.this,ActivityA.class)하지 마십시오.

2

일부 코드는 자신이하는 일을 엄청나게 이해하는 데 도움이됩니다. 그러나 쉽게 CoundtDownTimerActivityB에 넣고 onCreate()으로 시작할 수 있습니다. 그런 다음 finish()ActivityB에 전화하면 finish()ActivityA에 전화하지 않는 한 원하는 결과를 얻을 수 있습니다.

이것이 원하는 것이 아니라면 몇 가지 코드를 제공하고 문제를 조금 더 잘 설명하십시오.

관련 문제