Android launcher 에서 홈 키 를 누 르 는 시 뮬 레이 션 실현
Intent mHomeIntent = new Intent(Intent.ACTION_MAIN);
mHomeIntent.addCategory(Intent.CATEGORY_HOME);
mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
getApplicationContext().startActivity(mHomeIntent); // getApplicationContext
Android 에 서 는 stack 의 한 Activity moveTaskToFront 를 정의 하려 면 BroadcastReceiver 가 특정한 유형의 Broadcast 를 받 고 onReceive 에서 이 Activity 를 시작 할 수 있 습 니 다.그러나 주의해 야 할 것 은 startActivity 앞의 context 매개 변수 문제 입 니 다.안 드 로 이 드 의 activity 에 서 는 startAcitivity 를 사용 하여 자신 을 stack 앞으로 앞 당 길 수 없 기 때문에 이 onReceive 의 startActivity context 는 Activity 가 될 수 없습니다.
또한 이 BroadcastReceiver 가 동적 등록(dynamic register)이 라면 onReceive 에 들 어 오 는 context 의 매개 변 수 는 이 Activity 이 며 사용 할 수 없습니다.
위의 이 문제 에 대처 하 는 비교적 효과 적 인 방법 은 바로 이 context 를 직접 사용 하지 않 고 context.getapplicationContext()를 사용 하면 moveTask ToFront 를 실현 할 수 있다 는 것 이다.
moveTask ToFront 와 대응 하 는 것 은 moveTask ToBack 이다.이것 은 비교적 간단 하 다.Activity 는 moveTask ToBack 방법 을 제공 했다.당시 주의해 야 할 것 은 이 방법 이 호출 되면 이 Activity 가 있 는 task 는 전체적으로 stack 의 맨 밑 으로 옮 겨 질 것 이 므 로 각별 한 주의 가 필요 하 다 는 것 이다.
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
안 드 로 이 드 는 Launcher 선택 을 꺼 내지 않 고 기본 Launcher 가 필요 합 니 다.두 편의 문장 을 참고 했다. http://blog.csdn.net/jia4525036/article/details/18036765 http://blog.sina.com.cn/s/blog_4ad8d46c01019zq...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.