Android отложенная трансляция - PullRequest
0 голосов
/ 29 мая 2019

У меня есть приемник вещания, который прослушивает действия SCREEN_ON и SCREEN_OFF.Принцип этого заключается в том, что после необходимого количества нажатий приложение выполнит некоторое действие.Действия получены и обработаны правильно, эта часть прекрасно работает.

Проблема в том, что иногда возникает задержка, например, мы наблюдали 10 действий одновременно.Похоже, что вещание может быть отложено время от времени, а затем многие говорят, что все «очереди» широковещательные рассылки все принимаются один за другим.

Приемник широковещания привязан к службе, которая всегда работает независимо отдеятельность, являющаяся силой закрытой.IntentFilter имеет приоритет «999», вы можете увидеть настройки фильтра ниже, это делается в onStartCommand службы.

if (_screenOnOffBroadcast == null)
{
     _screenOnOffBroadcast = new ScreenOnOffBroadcast(Config);
     var filter = new IntentFilter(Intent.ActionScreenOff);
     filter.AddAction(Intent.ActionScreenOn);
     filter.Priority = 999;
     RegisterReceiver(_screenOnOffBroadcast, filter);
}

Я думаю, у меня есть два вопроса, во-первых, трансляции всегда мгновенные?И, во-вторых, для намеренных действий "SCREEN_ON" и "SCREEN_OFF", что может их запускать, я знаю, что это внутреннее для Android, но говорят, что если пользователь получит 10 сообщений, это включит / выключит экран десять раз.Я копался, чтобы попытаться лучше понять эту проблему, было трудно воссоздать задержку трансляций.Я могу поделиться больше кода, но не думаю, что это было необходимо.Спасибо за любую помощь или предложения с этим.

...