对问题的描述:
我有一个使用Firebase的应用程序(身份验证服务、防火墙和防火墙存储、crashlitycs等)。在需要访问internet的函数中,例如在登录用户时,我使用此方法确定是否存在internet连接:
fun isNetworkAvailable(context: Context): Boolean {
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val activeNetworkInfo = connectivityManager.activeNetworkInfo
return activeNetworkInfo != null && activeNetworkInfo.isConnected
}在Android中,一切都很好。但是当拥有真正设备的用户进入一个网络通常关闭且GPS信号强度很低的区域(例如在森林中)时,该应用程序会保持冻结和崩溃,除非有各种例外情况。这个问题甚至发生在根本不需要互联网的活动中(比如拍照、浏览目录)。我如何在Android仿真器中再现这一结果?
到目前为止我尝试过的:
-netdelay和-netspeed开关的仿真器设置高延迟(10-20)和低速(1-2kB/s)。上述任何一种方法都无法重现用户在森林或山区面临的冰冻屏幕。如果没有调试能力,我就无法找到冻结UI线程的内容。有什么我能做的吗?
发布于 2020-08-27 12:49:31
这听起来像是冻结/崩溃是GPS相关的,而不是网络相关的。对我起作用的是开车到处走,直到我在附近找到一个没有GPS信号的停车场。
此外,您绝对应该添加Firebase Crashlytics,以便在这些事件发生时得到崩溃报告。
https://stackoverflow.com/questions/63616157
复制相似问题