我已经广泛尝试搜索此事并且无法得出任何结论。我正在使用Xamarin和Visual Studio在C#语言中为Android设计应用程序。该应用程序运行异步任务,从设备麦克风读取样本。到目前为止,无法控制此任务的时间安排。代码如下:
button.Click += async delegate
{
//do some other stuff
await read_mic_task();
}
read_mic_task()
是async Task
,其中我从麦克风中读取样本。我正在使用秒表测量一次和其他执行之间的时间,我可以看到任务以随机周期运行。我想定期执行这项任务,尽管经常搜索,我什么都没得到。你能帮忙吗?
提前致谢!
答案 0 :(得分:0)
如果您还想跨系统线程计时器的平台共享它,有多种可能性。此计时器也可用于便携式课程。
您可以使用它,例如:
private System.Threading.Timer _timer;
...
// setup timer with callback
_timer = new System.Threading.Timer(OnTimerTick);
// start timer: duetime = 0 when to first execute callback (0 = right now) and intervall 5s
_timer.Change(0, 5000);
...
// stop timer
_timer.Change(Timeout.Infinite, Timeout.Infinite);
...
private void OnTimerTick(object state)
{
// do the intervall stuff here
}