Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Flurry OneEvent()未发送自定义未捕获异常处理程序_Android_Events_Flurry_Uncaught Exception - Fatal编程技术网

Android Flurry OneEvent()未发送自定义未捕获异常处理程序

Android Flurry OneEvent()未发送自定义未捕获异常处理程序,android,events,flurry,uncaught-exception,Android,Events,Flurry,Uncaught Exception,我试图在我的自定义未捕获异常处理程序(UEH)中使用Flurry的OneEvent方法,但事件没有显示,我认为这可能是因为当它到达异常处理程序时,Flurry会话已经结束 我在每个活动的onStart()方法中调用FlurryAgent.onStartSession,并在每个活动的onStop()方法中调用FlurryAgent.onEndSession() 我正在我的第一个活动中设置UEH: Thread.setDefaultUncaughtExceptionHandler(new TopEx

我试图在我的自定义未捕获异常处理程序(UEH)中使用Flurry的OneEvent方法,但事件没有显示,我认为这可能是因为当它到达异常处理程序时,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);
    }
}
public类TopExceptionHandler实现UncaughtExceptionHandler{
private Thread.UncaughtExceptionHandler defaultUEH;
私人活动app=null;
公共int numberOfStories=-1;
公共TopExceptionHandler(活动应用程序){
this.defaultUEH=Thread.getDefaultUncaughtExceptionHandler();
this.app=app;
}
@凌驾
公共无效未捕获异常(线程t,可丢弃的e){
Map params=新的HashMap();
ExceptionHandlerValues=ExceptionHandlerValues.getExceptionHandlerValues();
参数put(“model”,values.model);
参数put(“androidVersion”,values.androidVersion);
参数put(“androidSDK”,values.androidSDK);
参数put(“wattpadVersion”,值.wattpadVersion);
参数put(“misc”、“StoryCount=“+values.StoryCount+”;”;
参数put(“class”,例如getClass().toString());
//将其作为事件发送给Flurry
FlurryAgent.OneEvent(例外HandlerValues.EVENT_ID,参数);
defaultUEH.uncaughtException(t,e);
}
}
如果flurry课程已经结束(我想它已经结束了),我如何在UEH开始一个新的课程?我看到其他人说他们已经成功地实现了这个解决方案,所以我知道这是可能的,但我似乎不明白


谢谢

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

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