在Xamarin原生PCL中等效的Device.StartTimer

问题描述 投票:0回答:1

我想在一定延迟后调用一个方法。

在Xamarin.Form Device.StartTimer可用。

Device.StartTimer(2000,() =>{});

同样,我们可以在xamarin native中轻松完成

System.Threading.Timer timerO = new System.Threading.Timer(this.methodtobeinvoked,”timerO", 2000, System.Threading.Timeout.Infinite);

但是当谈到Xamarin原生的PCL时,我们不能同时使用它们。这好像是

System.Threading.Tasks.Task.Delay(2000)是PCL中最简单的选项,但是这个可以阻止主线程,我可以创建一个线程并调用他延迟从主线程中取消它但是我不想陷入使用多线程的陷阱...是否有任何可用的简单解决方案,让我们在经过一段时间后调用一个方法。

xamarin timer task portable-class-library
1个回答
0
投票

每秒执行ticktock ...

        Device.StartTimer(TimeSpan.FromMilliseconds(1000), loop1); // every 1 second
        bool loop1()
        {
            ticktock(); // execute every second
            return true;
        }

省略return语句,你会在一秒钟的延迟后执行一次ticktock。

© www.soinside.com 2019 - 2024. All rights reserved.