2012-04-22 2 views
0

언제 홈 화면으로 이동하는 의도가 필요합니까? 때문에 더 이상 응용 프로그램을 제어 할 수 없다는 뜻입니까? 당신이 개발자로서, 다음과 같은 코드 뒤에 무엇을 할 수 있는지 예를 들어인 텐트가 사용자를 홈 화면으로 이동시킨 후에 응용 프로그램에서 수행 할 수있는 다른 작업은 무엇입니까?

가 실행되었습니다

당신은 아마 생각 훨씬 더 까다로운 질문이다
Intent startMain = new Intent(Intent.ACTION_MAIN); 
startMain.addCategory(Intent.CATEGORY_HOME); 
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(startMain); 
+0

무엇이 문제입니까? –

+0

사용자가 기기와 상호 작용하는 방식에 대한 정보를 얻으려고합니다. 즉 다른 앱을 열거 나 폴더를 엽니 다. – Jrom

답변

3

. 우선, 실생활에서 평상시에는 그렇게하지 않을 것입니다. 활동이 끝나면 finish() 메소드를 호출합니다. 안드로이드 시스템은 활동을 호출 한 활동으로 돌아가며, 홈 화면에서 시작하면 홈 화면이됩니다. 그러나 연락처 중 하나의 주소지도를 보는 것처럼 일부 다른 응용 프로그램에서 시작한 경우지도 활동을 마치면()지도 응용 프로그램으로 돌아갑니다.

의도가있는 활동을 실행하면 해당 활동의 정확한 특성에 따라 활동이 실행중인 프로세스에서 해당 활동의 새 인스턴스를 열거 나, 프로세스가 이미 해당 응용 프로그램/활동을 실행하고 있습니다. 홈 화면의 경우, 홈 화면이 응용 프로그램/활동으로 어떻게 프로그래밍되고 그것이 매니페스트에서 어떻게 선언되는지 모르기 때문에 어떤 일이 발생하는지 정확히 알지 못합니다.

낄낄 거림 들어, 내 응용 프로그램 중 하나의 주요 활동의 onCreate() 귀하의 코드 라인을 넣어. 나는 상당히 엉뚱한 행동을 취했다. 의도는 확실히 내 응용 프로그램에서 나를 던져 내 응용 프로그램이 진행되는 과정을 파괴 것으로 보인다. (적어도 일식에서는 ADB 연결이 종료되어 더 이상 어떤 일이 일어나는지 알 수 없었습니다.) 홈 화면에서 내 주요 활동으로 되돌아 갔을 때 가끔 내 앱의 메인 화면으로 돌아갈 때도있었습니다. 내 앱의 보조 화면으로 이동하고 때로는 다시 홈 화면으로 다시 이동합니다. 내 보조 애플 리케이션을위한 의도를 호출하는 다른 코드 라인이 어떻게 든 내 애플 리케이션의 "상태"의 일부 였다고 상상해보십시오. 어떻게 든 다시 돌아 오면 어떻게 든 홈 액션을 시작한 후에 들어올 것이라고 생각합니다.

나는 분명히 여기 와플입니다. 나는 활동에서 벗어나기 위해 "finish()"를 사용하는 대신에 홈 화면을 시작하려는 의도를 실제로 부르는 것에서 이득을 얻을 수있는 무언가의 맥락에서 답을 줄 수있는 다른 사람들에게 이것을 남길 것이다.

관련 문제