Я пытаюсь использовать метод Flurry onEvent в моем настраиваемом обработчике исключенных исключений (UEH), но события не отображаются, и я думаю, что это может быть потому, что к тому времени, когда он попал в обработчик исключений, сеанс флеш-сессии закончился,
Я делаю вызов FlurryAgent.onStartSession в методе onStart() для каждого действия и вызывая FlurryAgent.onEndSession() в методе onStop() для каждого действия.
Я настраиваю свое 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);
}
}
Если сеанс флуоресценции закончился (что я вроде как думаю), как я могу начать новый в своем UEH? Я видел, как другие люди говорят, что они успешно реализовали это решение, поэтому я знаю, что это возможно, но я не могу его получить.
Благодарю!
Я закончил тем, что начал новый сеанс в моем UEH, используя контекст приложения. События в настоящее время отправляются и записываются, что создает проблемы отладки, которые наши пользователи испытывают намного легче.