2012-06-22 9 views
0

다음 상황을 상상해보십시오.
MainActivity는 블루투스 데이터를 수신하기 위해 스레드를 시작합니다. 사용자가 뒤로 버튼을 누르면 다음 순서가 수행됩니다 : onPause() -> onStop() -> onDestroy(). onDestroy는 활동에 의해 생성 된 thead를 중단하고 프로그램은 완전히 끝납니다.스레드에 의한 작업 일시 중지/중지 재개

그러나 사용자가 홈 버튼을 누르면 순서는 onPause() -> onStop()입니다. 활동이 더 이상 보이지 않습니다. 하지만 스레드가 여전히 실행 중입니다.

내가하고 싶은 일은, 일부 BT 데이터가 스레드에 의해 수신되면 MainActivity가 사용자의 개입없이 다시 (다시 시작) 표시됩니다.

누구나 어떻게 해야할지 알고 계십니까?

감사합니다.

+0

설명이 모호합니다. 어떤 OS입니까? 어떤 기본 스레드를 사용하고 있습니까? 'onStop' 등 API는 어디에서 유래됩니까? –

+0

사용자가 명시 적으로 시작하지 않은 활동을 팝업하는 것은 결코 좋은 사용자 경험이 아닙니다. 사용자의주의를 끌기 위해 알림을 게시하는 방법을 고려해야합니다. – Devunwired

+0

Android 2.3.3 스마트 폰. onStop/resume/pause e etc는 안드로이드 API에서 가져옵니다. –

답변

0

백그라운드에서 실행되는 특정 이벤트 (Bluetooth를 통해받은 경우 파일)에서 실행하려는 서비스를 호출해야합니다. 이것이이 문제에 접근하는 한 가지 방법 일 것입니다. 다른 해결책이있을 수 있지만이 배터리는 사용자의 배터리를 소진하지 않습니다.

관련 문제