안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요^^
패키지를 웹에서 다운로드 받아 단말에 설치하는 어플을 만들고 있습니다.
installer를 실행시켜 아래의 방법으로 installer 화면까지 띄우게 되는데요''
=======================================================
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(filepath, mimetype);
intent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED |
Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS );
context.startActivity(intent);
=======================================================
installer 화면이 뜬 상태에서 home key 를 눌러 idle 화면으로 나간 뒤,
다시 제 어플의 아이콘을 클릭해서 들어가게 되면 installer 화면이 뜨는게 아니라
installer를 띄우기 전 제 어플의 화면이 뜨게됩니다.
쉽게 말해서 제 어플이 A, installer가 B, home 화면이 C라고 했을 때,
=======================================================
1. A가 background상태고 B가 foreground 상태
2. home key를 눌러서 C 화면이 foreground가 되고 A,B background 상태로 변경
3. A 어플의 아이콘을 클릭하여 다시 A 어플이 foreground로 변경(B는 background 상태)
-> 이 때 제가 하고 싶은 것이 A어플의 아이콘을 클릭했을 때 B 어플이 foreground로 나오고 A는 background로 남아있는것입니다.
=======================================================
그래서 제목에서 말씀드렸듯 background로 돌고있는 B(installer) 어플을 foreground로 가져오고 싶은데요''
어떻게 해야할까요?'''
검색도 해봤는데 비슷한 내용은 있었으나 원하는 답변이 없었습니다.-_ㅠ
AlarmManager를 이용하는 방법말고는 없는건가요?
고수님들의 답변을 기다립니다.
도와주세요!ㅠ^ㅠ
감사합니다.
패키지를 웹에서 다운로드 받아 단말에 설치하는 어플을 만들고 있습니다.
installer를 실행시켜 아래의 방법으로 installer 화면까지 띄우게 되는데요''
=======================================================
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(filepath, mimetype);
intent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED |
Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS );
context.startActivity(intent);
=======================================================
installer 화면이 뜬 상태에서 home key 를 눌러 idle 화면으로 나간 뒤,
다시 제 어플의 아이콘을 클릭해서 들어가게 되면 installer 화면이 뜨는게 아니라
installer를 띄우기 전 제 어플의 화면이 뜨게됩니다.
쉽게 말해서 제 어플이 A, installer가 B, home 화면이 C라고 했을 때,
=======================================================
1. A가 background상태고 B가 foreground 상태
2. home key를 눌러서 C 화면이 foreground가 되고 A,B background 상태로 변경
3. A 어플의 아이콘을 클릭하여 다시 A 어플이 foreground로 변경(B는 background 상태)
-> 이 때 제가 하고 싶은 것이 A어플의 아이콘을 클릭했을 때 B 어플이 foreground로 나오고 A는 background로 남아있는것입니다.
=======================================================
그래서 제목에서 말씀드렸듯 background로 돌고있는 B(installer) 어플을 foreground로 가져오고 싶은데요''
어떻게 해야할까요?'''
검색도 해봤는데 비슷한 내용은 있었으나 원하는 답변이 없었습니다.-_ㅠ
AlarmManager를 이용하는 방법말고는 없는건가요?
고수님들의 답변을 기다립니다.
도와주세요!ㅠ^ㅠ
감사합니다.
2011.01.20 20:37:34
초보개발자님// 우선 답변감사합니다^^
제가 중요한 설명을 빼먹었군요..ㅠㅠ
BroadcastReceiver를 상속받는 packageManager라는 클래스를 하나 만들어둔 상태이구요
여기서 패키지 관련 기능들을 모두 하게되는데 installer 호출부분도 여기서 하게됩니다.
그래서 packageManager 클래스가 activity를 상속받지 않아서 현재 foreground에 있는 context를 받아와서
context.startActivity(intent);
이런식으로 호출하고 있습니다. (본문수정했어요~'')
그래서인지 FLAG_ACTIVITY_NEW_TASK를 하지않으면 어플이 죽더군요'''ㅠㅠ
이 상태에서는 방법이 없을까요?'''
제가 중요한 설명을 빼먹었군요..ㅠㅠ
BroadcastReceiver를 상속받는 packageManager라는 클래스를 하나 만들어둔 상태이구요
여기서 패키지 관련 기능들을 모두 하게되는데 installer 호출부분도 여기서 하게됩니다.
그래서 packageManager 클래스가 activity를 상속받지 않아서 현재 foreground에 있는 context를 받아와서
context.startActivity(intent);
이런식으로 호출하고 있습니다. (본문수정했어요~'')
그래서인지 FLAG_ACTIVITY_NEW_TASK를 하지않으면 어플이 죽더군요'''ㅠㅠ
이 상태에서는 방법이 없을까요?'''



