Android launcher 에서 홈 키 를 누 르 는 시 뮬 레이 션 실현

1313 단어 launcher홈 키
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 의 맨 밑 으로 옮 겨 질 것 이 므 로 각별 한 주의 가 필요 하 다 는 것 이다.
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기