我正在处理的问题是,如果应用程序处于后台,并且我的堆栈跟踪显示问题出在startService()
函数中,则应用程序将崩溃。 迁移部分中第一个要点的开发人员states专用的Android文档:
如果您的应用程序在运行时需要创建前台服务 在背景中,请使用
startForegroundService()
方法而不是startService()
。
我的crashlytics说,该应用程序在97%的情况下处于后台。另外,用户的操作系统是Android 8或Android9。因此,我确信可以按照上面网页上的说明解决问题。
但是,我的问题是我在Android开发人员的网页上找不到“后台应用”状态的任何定义。我只是认为“应用程序在后台”意味着您在特定时刻不会在屏幕上直接看到应用程序UI。而且,我无法在虚拟设备中独自重现该问题。尝试重现该问题时,我认为“应用程序在后台”表示我刚才描述的内容。
虚拟设备的行为方式可能与物理设备不同吗?还是我对应用程序处于后台的理解存在问题?