Я использую MonoDroid Looper.MyQueue().AddIdleHandler()
для выполнения некоторых команд, когда приложение находится в режиме ожидания. Это работает в одном упражнении, но если я запускаю второе упражнение, оно зависает, пока я не коснусь экрана или не перезапущу первое занятие. Нет никакого цикла или чего-либо, что могло бы заблокировать очередь во втором действии.
Как я могу предотвратить зависание петлителя?
Looper.MyQueue().AddIdleHandler(new ExecuteRunner(appState));
public class ExecuteRunner : Java.Lang.Object, MessageQueue.IIdleHandler
{
int count = 0;
ApplicationState appState;
public ExecuteRunner(ApplicationState pAppState)
{
appState = pAppState;
}
public bool QueueIdle()
{
appState.YooManager.Manager.ExecuteCommand();
count++;
Android.Util.Log.Debug("YooBik-Exe", count.ToString());
return true;
}
}
Может ли очередь сообщений чем-то блокироваться? В действии, где не работает обработчик простоя, регистрируется событие OnTouch.
Или кто-нибудь знает другой способ реализации обработчика простоя для монодроида?