Я хочу добиться механизма блокировки в приложении оболочки XF 4.5.0.
У меня есть таймер stati c, который подсчитывает, сколько секунд прошло, и на основе некоторых логических данных c представляет любой экран, отображающий этого пользователя. было до того, как положить приложение позади (пользователь пошел в Instagram, но приложение работает в фоновом режиме)
Итак, мой метод OnResume()
выглядит следующим образом:
private bool IsUserExists()
{
if (!string.IsNullOrWhiteSpace(GlobalAppSettings.Email) && !string.IsNullOrWhiteSpace(GlobalAppSettings.Password) && !string.IsNullOrWhiteSpace(GlobalAppSettings.Pin))
{
return true;
}
else
{
return false;
}
}
protected override void OnResume()
{
if ((!OnSleepOrPauseTime.HasValue || OnSleepOrPauseTime.Value.AddSeconds(5) <= DateTime.Now)
&&(IsUserExists()))
{
Xamarin.Forms.Device.BeginInvokeOnMainThread(async () =>
{
await Shell.Current.GoToAsync(Routes.LoginPinPage, false);
});
}
}
Проблема : пользователь примерно на полсекунды видит экран, на котором он был раньше, а затем перенаправляет его на LoginPinPage.
Счастливый путь : Должно быть, этот пользователь не видит, что Мерцающая страница, которая была до выхода из приложения, сразу же блокирует экран.
Возможное решение: Что пришло мне в голову, прежде чем покинуть приложение, чтобы как-то перенаправить в фоновом приложении на экран входа в систему?