是否可以将android应用强制进入“背景”以测试后台执行限制

时间:2019-06-15 04:14:10

标签: android broadcastreceiver android-service adb

您可能知道从Android 8开始有background execution limits。关于此主题,还有另一个非常流行的堆栈溢出question。当我在代码中收到异常时,便来到了这个主题。我有几个广播接收器,当我抓住它们时,我启动了一项服务,该服务在后台线程上执行少量工作。我已将该代码移出广播接收器,以确保不会阻塞UI线程且不会引起ANR。但是,有时应用程序将处于“后台”模式,我会收到异常

Java.Lang.IllegalStateException: Not allowed to start service Intent .... app is in background

这是可以接受的,并且由于后台执行限制而可以预期。 但是,我无法100%重现此异常,它仅在某些情况下发生,最有可能是在OS决定我的应用程序不再处于后台并将我从白名单中踢出,并且在我尝试启动服务时就得到了此异常。

我的问题是-是否有一个adb命令或开发人员选项可以基本上模拟应用程序进入后台的状况,并有助于100%重现此问题?我需要这样做来调试一些后台使用方案,并确保并证明应用程序在所有情况下均按预期工作,而无需猜测。

0 个答案:

没有答案