어플을 하나 만들려고 하는데 어떤 구조로 짜야 할지 조언을 구합니다.

개요:  
    1.  어플을 실행하고 세팅하고 back키로 빠져 나오면 status bar에 아이콘으로 어플 진행상태를 표시한다.
    2.  backgound에서 쓰레드로 특정 이벤트를 계속 감지한다.
    3. 특정 이벤트가 발생하면 어플이 forground로 실행이 된다.
입니다.

 질문 1) 
 어플을 실행하고 back키로 빠져 나왔다가 어플을 다시 실행하면 Activity 생애주기에 따라 onCreate() 부터 다시 수행이 되는데요..
이미 background에서 구동중인 어플인 경우 onCreate()를 ( 즉, 초기화나 위젯생성 등 의 과정을 두번 반복하지 않게)     거치지 않고
다음 단계로 넘어가게 하는 방법은 없나요? 예를 들면 onCreate()  최상단에 현재 어플이  구동중인지를 알아오는 메소드 같은게 있다면
구분해서 초기화를 할 수 있을거 같은데요.

질문2) 위와 같은 어플을 만들려면 어떤 방식으로 구조를 잡는게 좋을까요?
   - Activity 1을 만들어 notification, notificationManager를 이용해 status bar에 등록하고 thread를 생성하고 looper 와 handlemessage를 이용해서 특정 이벤트를 계속 감지하게 한 후 발생하면 실제 수행을 하는 Activity 2를 intent를 통해 호출 수행하게 한 다음 끝나면 다시   Activity 1을 호출하면 될까요?  짧은 생각으로 이렇게 구현하는데 잘 안되네요.

그래서 제가 생각부터 잘못하고 있는건 아닌지 궁금해서 조언을 구하고자 합니다.

감사합니다.