2013-01-24 4 views
4

내 앱이 정상적으로 실행 중이며 활동 A를 표시한다고 가정하면 사용자가 휴대 전화를 잠급니다. 정중 한자는 잠에 들어갑니다 (onPause()). 화면이 꺼져있는 동안 어떤 시점에서 사용자에게 무엇인가를 보여줘야합니다. 모두가 잘 작동잠금 화면의 활동 - 이전 활동을 다시 시작합니다.

FLAG_SHOW_WHEN_LOCKED 
FLAG_TURN_SCREEN_ON 
FLAG_DISMISS_KEYGUARD 

그건

FLAG_ACTIVITY_CLEAR_TOP 
FLAG_ACTIVITY_NEW_TASK 

그리고 B의 onCreate()에, 나는 다음과 같은 윈도우 플래그를 추가 : 그래서 내 배경 코드 (서비스)에서, 나는 통과하는 다음과 같은 플래그, B에 대한 startActivity를 호출 - 이제 B가 키 가드 위에 나타납니다.

나중에 B를 기각하고 싶습니다. 따라서 B 내에서 dismiss()으로 전화를 걸면 예상대로 작동합니다. 여기에 문제가있는 부분이 있습니다. 잠금 화면으로 돌아가는 대신 잠금 화면 상단에서 A를 실행합니다.

B를 닫을 때 OS가 A를 다시 시작할 수 없게하려면 어떻게해야합니까?

감사합니다.

+0

나는 몇 달 동안 풀어 보지 못했던 비슷한 문제가 있으며, 결국 그것을 파악하려고합니다. B는 잘 보여 주지만 일단 내가 그것을 닫으면 잠금 화면 잠금을 해제하면 A가 나타납니다. 정적 변수를 사용하여 주위를 둘러 보았지만 이상적이지 않습니다. –

+0

잠시 뒤죽박죽으로, 나는 'Intent.ACTIVITY_MULTIPLE_TASK'을 사용했습니다. 자물쇠 화면에 보여준 활동이 독립적이기 때문에 활동을 시작할 때 사용했습니다. 필요한 것은 공유 환경 설정이지만 다른 활동에는 의존하지 않습니다. –

+0

흠 .. 제 경우에는 작동하지 않습니다. 최근 앱 목록에서 화면 B (또는 최근 앱이 없음)에 내 앱이 표시됩니다 .. 앱이 백그라운드 (또는 전경)로 잠기기 전에 실행 중이면 그것이 이전에 잠금 상태였던 것처럼 (배경이나 전경에서 실행 중입니다.) – user1537915

답변

0

안드로이드보다 낫다고 생각한다면 앱에 속한 활동 스택에 다음 활동 만 표시됩니다. 예 : 다른 앱을 호출하려고합니다. 활동 B가 끝나면 홈 화면이 표시되므로 잠금 화면이 정상적으로 표시됩니다. 설정하면

가, 새로운 활동이 최근 출시 된 활동의 목록에 보관되지 않은 : 당신은 또한 플래그 FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS를 사용하려고 할 수

.

+0

그러나 lockscreen에 표시 할 플래그가없는 다른 활동을 호출하면 화면이 잠기면 내가 시작한 모든 활동을 볼 수 있습니다. 그러나 이전에 전화 상태를 표시하는 안드로이드의 표준 동작을 여전히 벗어납니다 잠금 장치에 - 그게 내가 복제하고 싶은 것입니다. 나는 한 단계 더 나아 갔다. [이 질문에 대한 대답으로] 화면을 다시 잠그기. (http://stackoverflow.com/questions/9633972/lock-phone-using-a-android-application? rq = 1)은 잠금 화면으로 되돌아갑니다. 잠금 해제 후 A가 표시되지 않으면 황금이됩니다. – user1537915