Android Fabric-以自定义间隔发送捕获的异常
根据减少用户流量的Fabric文档,捕获的异常仅在应用程序启动时发送- Crashlytics在专用后台线程上处理异常,因此对应用程序性能的影响最小。为了减少用户的网络流量,Crashlytics将记录的异常批处理在一起,并在下次应用程序启动时发送这些异常 但对于这个特定的应用程序,该应用程序将始终打开,并且不打算重新启动。所以问题是-Android Fabric-以自定义间隔发送捕获的异常,android,crashlytics,twitter-fabric,crashlytics-android,Android,Crashlytics,Twitter Fabric,Crashlytics Android,根据减少用户流量的Fabric文档,捕获的异常仅在应用程序启动时发送- Crashlytics在专用后台线程上处理异常,因此对应用程序性能的影响最小。为了减少用户的网络流量,Crashlytics将记录的异常批处理在一起,并在下次应用程序启动时发送这些异常 但对于这个特定的应用程序,该应用程序将始终打开,并且不打算重新启动。所以问题是- 如何在一段时间后或在某个事件中强制发送日志?Mike来自Fabric 目前,我们的SDK不提供手动刷新或推送运行Android应用程序日志的方法。记录的异常会在
如何在一段时间后或在某个事件中强制发送日志?Mike来自Fabric
目前,我们的SDK不提供手动刷新或推送运行Android应用程序日志的方法。记录的异常会在重新启动应用程序时发送。我已经创建了一些简单的解决方案。现在,重新启动应用程序后会发送报告。如果用户因为出错而不重新启动应用程序怎么办?这是可能的 所以,如果我们想在关闭应用程序后发送日志,我们需要创建简单的“粘性”服务 让我们放置
startService(新的意图(context,ReportService.class))代码>行在主活动的onCreate
方法中
现在,当应用程序将关闭时,服务将再次启动代码-Crashlytics将发送记录的异常。您知道串行发送日志的限制吗?我已经发送了两个Crashlytics.logException(e),间隔3秒,但最后一个出现在Fabric控制台中。一起快速发送的日志应该不会出现任何问题。我建议在Twitter社区上创建一个新的SO帖子或提问。
try {
myMethodThatThrows();
} catch (Exception e) {
Crashlytics.logException(e);
// handle your exception here!
}
public class ReportService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
System.err.println("ReportService refresh");
return START_STICKY;
}
}