2011-08-26 2 views
1

사용자 정의 uncaught 예외 핸들러 (UEH)에서 Flurry의 onEvent 메소드를 사용하려고하지만 이벤트가 표시되지 않고있을 수 있습니다. 예외 처리기에 도착할 무렵에 flurry 세션이 종료되었습니다.Flurry onEvent()가 사용자 정의 uncaught 예외 핸들러를 보내지 않음

나는 모든 활동의 ONSTART() 메소드에 FlurryAgent.onStartSession에 전화를 걸 모든 활동의 중지시() 메소드) (FlurryAgent.onEndSession를 호출.

내가 처음으로 활동에 내 UEH을 설정 해요 : 질풍 세션 (종료

public class TopExceptionHandler implements UncaughtExceptionHandler { 

    private Thread.UncaughtExceptionHandler defaultUEH; 
    private Activity app = null; 
    public int numberOfStories = -1; 

    public TopExceptionHandler(Activity app) { 
     this.defaultUEH = Thread.getDefaultUncaughtExceptionHandler(); 
     this.app = app; 
    } 

    @Override 
    public void uncaughtException(Thread t, Throwable e) { 

     Map<String, String> params = new HashMap<String, String>(); 
     ExceptionHandlerValues values = ExceptionHandlerValues.getExceptionHandlerValues(); 
     params.put("model", values.model); 
     params.put("androidVersion", values.androidVersion); 
     params.put("androidSDK", values.androidSDK); 
     params.put("wattpadVersion", values.wattpadVersion); 
     params.put("misc", "StoryCount=" + values.storyCount + ";"); 
     params.put("class", e.getClass().toString()); 

     // Send it off to Flurry as an event 
     FlurryAgent.onEvent(ExceptionHandlerValues.EVENT_ID, params); 

     defaultUEH.uncaughtException(t, e); 
    } 
} 

하면 나는 가지 야하는 :

Thread.setDefaultUncaughtExceptionHandler(new TopExceptionHandler(this)); 

내 UEH은 (간체)처럼 보인다 그것이 있다고 생각합니다) 어떻게 UEH에서 새로운 것을 시작할 수 있습니까? 나는 다른 사람들이이 솔루션을 성공적으로 구현했다고 말했기 때문에 그것이 가능하다는 것을 알았지 만 얻을 수없는 것 같습니다.

감사합니다.

답변

1

응용 프로그램 컨텍스트를 사용하여 UEH에서 새 단말 세션을 시작했습니다. 이벤트가 전송되고 기록되므로 사용자가 겪고있는 디버깅 문제가 훨씬 쉽게 발생합니다.