2016-10-25 1 views
0

나는 안드로이드 응용 프로그램에서 핸들러를 가지고 있고이 정말 작동 좋은처리기 안드로이드 스튜디오

아래 내 처리기

Runnable mStatusChecker = new Runnable() { 
    @Override 
    public void run() { 
     try{ 
      StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
      StrictMode.setThreadPolicy(policy); 
      downloadusernamelist(); 
      isInternetWorking(); 
      syncDataSftp(); 
     }finally { 
      mHandler.postDelayed(mStatusChecker, mInterval); 
     }}}; 

난 다음 활동에 갈 때 이제이 핸들러가 실행 활동을하고 코드입니다 첫 번째 실행 프로그램 활동으로 돌아가서 다시 처리기가 시작됩니다 ...

첫 번째 활동으로 돌아갈 때마다 처리기가 다시 시작되지 않도록하려면 어떻게해야합니까?

+0

활동의 수명주기를 알고 있습니까? –

+0

위의 코드가 Create Method에 없다면 Activity Lifecycle의 Create Method에 넣으십시오. –

답변

1

다음과 같은 부울을 정의 할 수 있습니다.

private boolean firstTime = true; 

그러면 firstTime 부울 값에 따라 처리기를 시작할 것인지 결정할 수 있습니다.

또한 firstTime 값을 onSaveInstance에 저장하고 해당 값을 onCreate로 복원해야합니다.

관련 문제