【问题标题】:Flurry onEvent() not sending in custom uncaught exception handlerFlurry onEvent() 未在自定义未捕获异常处理程序中发送
【发布时间】:2011-08-26 13:29:22
【问题描述】:

我正在尝试在我的自定义未捕获异常处理程序 (UEH) 中使用 Flurry 的 onEvent 方法,但事件没有显示出来,我认为这可能是因为当它到达异常处理程序时,flurry会话已结束。

我在每个活动的 onStart() 方法中调用 FlurryAgent.onStartSession,并在每个活动的 onStop() 方法中调用 FlurryAgent.onEndSession()。

我在我的第一个活动中设置我的 UEH:

Thread.setDefaultUncaughtExceptionHandler(new TopExceptionHandler(this));

我的 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);
    }
}

如果 Flurry 会话已经结束(我想它已经结束了),我如何在我的 UEH 中开始一个新的会话?我看到其他人说他们已经成功实施了这个解决方案,所以我知道这是可能的,但我似乎无法理解。

谢谢!

【问题讨论】:

    标签: android events flurry uncaught-exception


    【解决方案1】:

    我最终使用应用程序上下文在我的 UEH 中启动了一个新的 Flurry 会话。现在正在发送和记录事件,这使得我们的用户遇到的调试问题变得更加容易。

    【讨论】:

      猜你喜欢
      • 2018-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      • 2014-03-19
      • 1970-01-01
      • 2014-09-02
      • 2018-06-14
      相关资源
      最近更新 更多