2013-01-10 2 views
1

ShareActionProvider가 내역 파일에 기록하지 못하도록하고 싶습니다. 공유 메뉴에서 공유 응용 프로그램을 선택할 때 호출되는 콜백 함수를 찾으려고했지만 콜백 메서드를 찾을 수 없습니다. 공유 기록 파일을 업데이트하는 작업을 수행하는 콜백 메소드를 찾고 싶습니다. 이 방법을 무시하고 동작을 변경하는 데 도움이됩니다. 우리의 의견 후에 당신이 당신의 자신의 질문에 대답 할 수처럼ShareActionProvider가 내역 파일을 공유하지 못하도록합니다.

+0

연구를 시작하기에 좋은 곳이 소스 일 것입니다. 시도해 보셨습니까? https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/widget/ShareActionProvider.java – Budius

+0

예. 나는 ShareActionProvider 클래스를 확장하고 모든 메소드를 오버라이드했다 (각 메소드에서 로거와 함께). 뷰가 생성 될 때 많은 메서드가 처음 호출됩니다. 그러나 메뉴 항목을 선택하면 아무 메소드도 호출되지 않고 뷰가 업데이트됩니다. –

+0

코드 자체를 파고 들지는 않았지만 개인 또는 보호 된 메서드 일 수 있으므로 재정의 할 수는 없지만 전체 코드를 복사하고 필요에 맞게 수정할 수 있습니다. – Budius

답변

0

는 느낌,하지만 당신은 그래서 여기에하지 않았다 간다 :

당신은 두 가지 옵션이 있습니다, 그이, 당신은 할 수 없습니다 결론을 기반으로 역사를 피하기 위해 무언가를 직접 재정의하십시오 :

1) 여기에 원래의 모든 클래스가있는 링크가 있으며이를 프로젝트에 복사하고 NoHistoryShareActionProvider를 작성했습니다. ShareActionProvider, ActivityChooserView, ActivityChooserModel 및 그 이상의 GrepCode에서 다른 필요한 클래스를 찾을 수 있습니다.

2) 1 단계 뒤로하고, ShareActionProvider의 모양을 모방 한 ActionProvider의 하위 클래스를 만들어 내 보낸다.

나는 둘 다 길고 해결책에 동의하며 간단한 설정으로 어디로 가져 가야 할지를 결정할 수 있습니다.하지만 그 방법은 맞습니다.

행복한 코딩!