gpt4 book ai didi

android - Flurry onEvent() 未发送自定义未捕获异常处理程序

转载 作者:行者123 更新时间:2023-11-30 04:34:00 25 4
gpt4 key购买 nike

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

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

我在我的第一个 Activity 中设置我的 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 session 已经结束(我有点认为它已经结束),我该如何在我的 UEH 中开始一个新的 session?我见过其他人说他们已经成功实现了这个解决方案,所以我知道这是可能的,但我似乎无法理解。

谢谢!

最佳答案

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

关于android - Flurry onEvent() 未发送自定义未捕获异常处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7205375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com