我正在为Windows 10通用应用程序(仅针对移动设备和桌面设备族)开发一个类库。我需要在用户空闲(无触摸、鼠标移动、按键等) x 秒后调用一个事件。在Android上,可以使用此方法解决此问题。但我找不到UWP上的解决方案。
在UWP中是否有可用的API来实现这一点?
在UWP中是否有可用的API来实现这一点?
我知道这是一个很老的问题,但我认为现在你可以使用RegisterBackgroundTask来获得相同的结果。
只需要设置:
new TimeTrigger(15, false) //用于时间触发器
new SystemCondition(SystemConditionType.UserNotPresent)) //所以你想知道用户不在场
在App.xaml.cs中的示例用法:
var builder = new BackgroundTaskBuilder();
builder.Name = "Is user Idle";
builder.SetTrigger(new TimeTrigger(2, false)); //two mins
builder.AddCondition(new SystemCondition(SystemConditionType.UserNotPresent));
// Do not set builder.TaskEntryPoint for in-process background tasks
// Here we register the task and work will start based on the time trigger.
BackgroundTaskRegistration task = builder.Register();
task.Completed += (sender, args) =>
{
//Handle user not present (Idle) here.
};
TimeTrigger
类有一个最小值,即15
分钟。您不能将时间间隔设置为小于15
分钟的TimeTrigger
。这在此处已经提到:TimeTrigger.FreshnessTime Property
。 - NoWar