내 주요 활동의 onCreate() 메소드에서 사용자가 검색 대화 상자를 취소 할 때 Activity의 onCancel() 메소드가 콜백되도록 설정했습니다. 검색을하지 않고. 여기 내 등록 코드는 다음과 같습니다안드로이드 검색 onCancel() 청취자가 호출되지 않습니다
SearchManager searchManager = (SearchManager) getApplicationContext().getSystemService(Context.SEARCH_SERVICE);
searchManager.setOnCancelListener(this);
내 활동 SearchManger.OnCancelListener 내으로 onCancel을() 메소드가 현재 Log.d() 문이다 구현합니다. 그러나, 검색 대화 상자를 취소 할 때마다 (예를 들어, 뒤로 버튼 사용),이 방법은 결코 호출되지 않는다.
분명히 말해서 검색 기능은 실행될 때 제대로 작동합니다. 사용자가 검색 대화 상자를 취소 할 때 알림을 보내고 조치를 취할 수 있습니다. 또한 요청시 화면 상단에 나타나는 기본 Android 검색 대화 상자를 사용하고 있습니다.
필요한 구성이 있습니까? 예 : 지. 이 콜백을 지원하려면 AndroidManifest.xml에서? 아니면 방금 바보 같은 짓을하고 있습니까?
에 의해 트리거되지 않는 한,으로 onCancel 이상 권장 생각 -- 감사! 실행중인 에뮬레이터에서 onCancel()은 뒤로 버튼과 통조림 검색 대화 상자 외부를 클릭하여 호출되므로 도착하면 OK라고 생각합니다. – mharper
아, 다시 문서를 살펴보면 취소 작업이 처리됩니다. 검색이 실행될 때가 아니라 닫히면 처리됩니다. 그러면 앱에 도움이 될 것입니다. – Joe