Моя цель - перенаправить пользователя обратно на экран входа в систему после истечения времени простоя. У меня есть этот код для обратного отсчета после каждого нажатия / касания. Это работает хорошо, но моя текущая проблема в том, что я понятия не имею, чтобы перенаправить пользователя обратно на экран входа. Поскольку это проект MvvmCross 4.4, документации для поиска не так много. Если бы я мог также получить пример кода для Android, это было бы очень полезно. Я буду признателен.
Ниже приведен код, который я положил в Main.cs
public class Application{
static void Main(string[] args){
//UIApplication.Main(args, null, "AppDelegate");
UIApplication.Main(args, "MyApplication", "AppDelegate");
}
}
//DELEGATE
[Register("MyApplication")]
public class MyApplication : UIApplication {
public override void SendEvent(UIEvent uievent) {
base.SendEvent(uievent);
var allTouches = uievent.AllTouches;
if (allTouches.Count > 0) {
var phase = ((UITouch)allTouches.AnyObject).Phase;
if (phase == UITouchPhase.Began || phase == UITouchPhase.Ended)
ResetIdleTimer();
}
}
NSTimer idleTimer;
void ResetIdleTimer() {
if (idleTimer != null) {
idleTimer.Invalidate();
idleTimer.Dispose();
}
idleTimer = NSTimer.CreateScheduledTimer(TimeSpan.FromMinutes(0.5), TimerExceeded);
}
void TimerExceeded(NSTimer obj) {
MvxiOSToastService toastService = new MvxiOSToastService();
toastService.DisplayMessageAndDoSomething("You are going to be timed out.","Idle time exceeded.", RedirectToLogin);
Console.WriteLine("idle time exceeded");
}
void RedirectToLogin() {
var window = UIApplication.SharedApplication.KeyWindow;
var vc = window.RootViewController;
//ERROR HERE
var nextVC = new LoginView();
vc.ShowViewController(nextVC, this);
//----------
}
}