문제

수신기가 프로그래밍 방식으로 홈 버튼 프레스를 처리하려면 활동이 필요하지만 이벤트는 발사되지 않습니다. 그러나 Manifest.xml 활동 섹션에서 선언하면이 의도 필터를 성공적으로 등록하고 캡처 할 수 있습니다. 작동하지 않는 수신기의 코드는 다음과 같습니다.

BroadcastReceiver br;

br = new BroadcastReceiver() {
       @Override
       public void onReceive(Context context, Intent intent) {
               return;  // I put a breakpoint here to see if this gets called
       }
};


IntentFilter intf = new IntentFilter();
intf.addAction(Intent.ACTION_MAIN);
intf.addCategory(Intent.CATEGORY_HOME);
intf.addCategory(Intent.CATEGORY_DEFAULT);

registerReceiver(br, intf);

왜 이것이 홈 버튼 클릭을 캡처하지 않는지 아는 사람이 있습니까?

그건 그렇고, 나는 다른 활동을 만들고 매니페스트에서 의도 필터를 지정하여 이것을 해결하려고 시도했습니다. 매니페스트에서 활동을 활성화 한 = "false"를 설정했지만 실행 시간에 해당 활동을 가능하게하는 방법을 알 수 없었습니다. 결론적으로, 응용 프로그램이 실행중인 경우에만 홈 버튼 의도 필터를 등록하고 싶습니다.이를 수행하는 방법을 알 수 없습니다.

도움이 되었습니까?

해결책

교체 홈 화면을 구현하려는 경우 Intent 매니페스트에있는 필터 - SDK의 홈 샘플 앱을 참조하십시오.

홈 키를 차단하려고한다면 제발하지 마십시오.

다른 팁

홈 버튼을 무시 해야하는 경우가 없어야합니다. 사용자가 항상 자신의 휴대 전화에 대한 제어를 유지하도록해야합니다. 정확히 무엇을하려고합니까? 활동이 더 이상 보이지 않는시기를 감지하려면 onstop ()를 무시해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top