В настоящее время я разрабатываю HMI, который должен подключаться к удаленному серверу в той же сети, чтобы иметь возможность запуска. Для этого я использую функцию заставки на платформе UWP, которая позволяет мне моделировать загрузочную страницу.
Моя проблема в том, что я должен получить от сервера слово «старт», чтобы иметь возможность разблокировать заставку и передать приложение.
Поэтому я попытался вызвать эту функцию прямо из своего фона, но она неизбежно не работает.
Функции для выхода из заставки:
void DismissedEventHandler(SplashScreen sender, object e)
{
dismissed = true;
}
public void DismissExtendedSplash()
{
rootFrame.Navigate(typeof(MainPage));
Window.Current.Content = rootFrame;
}
void DismissSplashButton_Click(object sender, RoutedEventArgs e)
{
DismissExtendedSplash();
}
SocketActivtyTask:
case SocketActivityTriggerReason.SocketActivity:
var socket = socketInformation.StreamSocket;
DataReader reader = new DataReader(socket.InputStream);
reader.InputStreamOptions = InputStreamOptions.Partial;
await reader.LoadAsync(250);
var dataString = reader.ReadString(reader.UnconsumedBufferLength);
try
{
if (dataString.Equals("Start"))
{
Debug.WriteLine("Lancement OK.");
DismissExtendedSplash();
}
}
catch
{
Debug.WriteLine("Lancement FAIL.");
}
}
Как я могу заставить это работать?
Дополнительный вопрос, как отменить фоновую задачу при закрытии приложения?