안드로이드 개발 질문/답변
(글 수 45,052)
계속 찾아보기만 하다가 이렇게 질문을 합니다.
아래와 같이 같이 어플 실행 중에 전화를 합니다.
Uri number = Uri.parse("tel:" + callNumber);
m_dial = new Intent(Intent.ACTION_CALL, number);
m_dial.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(m_dial);
그러면 어플 위로 Call screen이 나타나면서 전화를 하는데요.
이 call screen 화면 위로 이전의 app을 보여주고 싶습니다.
간단히 손으로 home key를 누르면 call screen이 위로 올라가고
home key를 길게 눌러 이전에 실행했던 어플을 실행하면 정상 동작합니다.
위의 과정을 코딩으로 하려고 하는데 안됩니다. 방법이 없을까요?
home key를 아래와 같이 누르면 call screen은 위로 올라 가는데 어플도 같이 종료가 되어 버립니다.
Intent intent = new Intent();
intent.setAction("android.intent.action.MAIN");
intent.addCategory("android.intent.category.HOME");
intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
| Intent.FLAG_ACTIVITY_FORWARD_RESULT
| Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
startActivity(intent);
어플이 종료 안되게 home key를 누르는 방법과 어플을 다시 main 화면으로 실행하는 방법을 알고 싶습니다!!
아니면 call screen과 어플을 바꾸어 어플을 보여주는 방법이 있나요?
너무 오랫동안 고민하는 내용이라서 많은 조언을 해주시면 정말 정말 감사하겠습니다.




인텐트 플래그 : FLAG_ACTIVITY_REORDER_TO_FRONT
설명 : 호출하려던 액티비티가 이미 액티비티 스택에 존재하고 있다면, 이 플래그를 사용하여 스택에 존재하는
액티비티를 최상위로 끌어올려줍니다. 결과적으로 액티비티 스택의 순서가 재정렬되는 효과를 가집니다.
-출처 : http://theeye.pe.kr
이게 맞는지 모르겠군요..