2012-05-31 8 views
0

현재 활동 뒤에서 활동을 시작할 수 있습니까? 내 서비스로 홈 활동 (실행 프로그램)을 변경하려고하지만 현재 진행중인 활동이 닫힙니다. 이 문제를 어떻게 해결할 수 있습니까? 액티비티 스택을 변경할 수 있습니까?현재 활동 뒤의 활동 시작

답변

0

백그라운드에서 활동을 시작할 수 없습니다!

스택을 변경할 수는 없지만 서비스에서 인 텐트로 원하는 활동을 시작하는 것이 좋습니다. 이 경우 "시작 활동"과 같아야합니다. 현재 활동의 컨텍스트를 얻어서

:

Intent serviceStartActivity = new Intent(getBaseContext(), anyActivity.class); 
serviceStartActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
getApplication().startActivity(serviceStartActivity); 
+0

어떻게 시작 활동 BEHIHD 현재 활동? – Leo

+0

당신의 외침이 실제로 나를 이해하는 데 도움이되었습니다 ... 왜 백그라운드에서 활동을 시작 하시겠습니까? 나는이 의미를 보지 못했다. 그게 내가 처음에 당신의 질문을 이해하지 못했어요 ... – Tschegewara

+0

나는 발사기 스위처를 개발 중입니다. 이 프로그램은 화면 방향을 변경할 때 실행 프로그램을 변경합니다. 런처를 의도에 따라 바꿀 수는 있지만 현재 전면 활동 (사용자 앱, 시작 프로그램이 아닌)이 닫힙니다. – Leo

0

activty은 오래 뷰의 상단에 있어요으로 실행에있다. 다른 활동이 시작되자 마자 첫 번째 활동이 일시 중지 및/또는 중지됩니다. 그래서, 당신이 백그라운드에서 활동을 시작하지 못했다고 생각합니다.

+0

예, 백그라운드에서 활동을 시작하겠습니다. – Leo

+0

좋습니다.하지만 정의 할 수는 없습니다. 활동은보기 상단의 프로세스입니다 (배경이 아님). 아마도 서비스를 사용해야합니까? –

1

그럼이 모든 재미 비즈니스처럼 들리 겠지만 나는 앞에있는 활동의 복잡성에 따라, 가정, 당신은 시도 할 수 다음

  • 현재 활동의 저장 상태 (에 관련되는 경우 당신은)
  • 마무리 현재 활동
  • 없이 애니메이션과 함께 "뒤에"활동을 시작
  • 우리가 어떤 애니메이션을 완성 활동, 복원 가시 상태를 시작

한꺼번에 모든 것이 휩쓸려 들었고 희망적으로 (그래픽 결함은 제외하고) 이것이 원하는 것을 느낄 수있었습니다. 나는 단지 순수한 호기심에서 이것을 할 것이다.

+0

사용자가 화면의 깜박임을 볼 수 있기 때문에 활동을 빨리 전환 할 수 없습니다. – Leo

+0

다음 창의력을 발휘하십시오. 애니메이션이없고 위의 모든 것을 단일 메서드 호출로 수행하면 깜박임은 아마도 init의 지연 때문일 수 있습니다. 먼저 UI 스레드에서 시간이 걸리는 작업이 실행되지 않도록하고 마지막 순간에만 동기화하십시오. 사물을 다시 초기화하는 동안 루트 레이아웃 요소의 비트 맵 캐시 비트를 활성화하고 비트 맵을 캡처 한 다음 배경으로 그립니다. – dskinner