当USB被拔出时,Android 9中的前台服务暂停

当USB被拔出时,Android 9中的前台服务暂停,android,broadcastreceiver,Android,Broadcastreceiver,服务中有一个接收器: IntentFilter mFilter = new IntentFilter(); mFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); mFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);

服务中有一个接收器:

    IntentFilter mFilter = new IntentFilter();
    mFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
    mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
    mFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
    mFilter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION);
    mFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
服务是一种前台服务

 @Override
     public int onStartCommand(Intent intent, int flags, int startId) {

          ...

        startForeground(NOT_ID, getNotification(type));
        return START_STICKY;
}
服务一直在运行通知。当服务“暂停”时,通知正常

问题:

当USB充电器被拔下(同样的事情发生在连接到PC或普通充电器上)并且在Android 9上执行测试时,接收器不会捕获事件、连接事件,例如更改Wi-Fi、通过数据连接或断开连接

如果我插入USB,事件检测器工作正常。要查看事件,我使用的是测试接口,而不是logcat

我知道这是因为我假设在Android 9中,当设备未插入时,系统会暂停服务以节省电池

在Android 9中,当USB被拔出时,有没有办法调用接收器

我在安卓8.1中进行了测试,服务并没有暂停

注意:我不能在清单中声明接收者,因为Android 6由于电池的原因而无法声明接收者

更多信息:要进行测试,所有活动都将完全关闭,只显示服务和通知。如果某些活动对用户可见,则接收器工作正常