根据Fabric文档Fabric doc减少用户流量,只有在应用启动时才会发送捕获的异常 -
Crashlytics在专用后台线程上处理异常,因此对您的应用程序的性能影响很小。为了减少用户的网络流量,Crashlytics将记录的异常一起批处理,并在下次启动应用程序时将其发送。
try {
myMethodThatThrows();
} catch (Exception e) {
Crashlytics.logException(e);
// handle your exception here!
}
但是对于这个特定的应用程序,该应用程序将始终打开,并不打算重新启动。所以问题是 -
如何强制在一段时间后或某些事件中发送日志?
答案 0 :(得分:1)
Mike来自Fabric。
目前,我们的SDK不提供从正在运行的Android应用程序手动刷新或推送日志的方法。在重新启动应用程序时会发送记录的异常。
答案 1 :(得分:0)
我创造了某种简单的解决方案。现在,报告将在
因此,如果我们想在关闭应用之后发送日志,我们需要创建简单的"粘贴"服务。
public class ReportService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
System.err.println("ReportService refresh");
return START_STICKY;
}
}
然后让startService(new Intent(context, ReportService.class));
行放在主要活动的onCreate
方法中。
现在,当应用关闭时,服务将再次启动代码 - Crashlytics将发送记录的异常。