2017-02-01 2 views
0

내 애플리케이션에서 나는 robospice를 사용하고 있습니다. 그래서 내 BaseActivity에서 만든 향신료 관리자 : 나는 새로운 활동을 시작할 때, 새로운 활동에 ONSTART (라고onStop()은 onStart() 이후에 호출됩니다.

@Override 
    protected void onStart() { 
     super.onStart(); 
     if(!spiceManager.isStarted()) { 
      spiceManager.start(this); 
     } 
    } 

    @Override 
    protected void onStop() { 
     if (spiceManager.isStarted()) { 
      spiceManager.shouldStop(); 
     } 
     super.onStop(); 
    } 

) 부모 중지시 이전() - 그래서 서비스를 분리합니다. 어떤 아이디어가 그것을 해결하는 방법?

답변

1

귀하의 질문을 정확하게 이해하지 못했습니다. 하지만 만약 내가 당신이 BaseActivity onStop 당신이 새로운 활동을 시작한 후에 전화로 문제가있는 것 같았어요.

물론이 경우 onResume대신 ONSTART 및 중지시의 onPause를 사용할 수 있습니다.

@Override 
    protected void onResume() { 
     super.onResume(); 
     if(!spiceManager.isStarted()) { 
      spiceManager.start(this); 
     } 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     if (spiceManager.isStarted()) { 
      spiceManager.shouldStop(); 
     } 

    } 

희망이 도움이됩니다.

+0

을 예, 새로운 활동의 ONSTART()를 이동 중지() 부모 활동 전에 호출되어, 그것은 onResume()와 onPause를 사용 – Stepan

+0

@Stepan 그렇게 시도 서비스를 분리 있도록() onStop() 및 onStart() 대신에? –

0

부울 플래그를 추가하고 다른 활동을 시작하기 전에 전환하십시오. 또한,이에 이동 중지 방법을 변경 :

protected void onStop() { 
    if (spiceManager.isStarted() && !mIsStartedNewActivity) { 
     spiceManager.shouldStop(); 
    } 
    super.onStop(); 
} 
관련 문제