在我的应用程序中,应用程序和后台任务都会访问一个文件,并且首先打开文件,另一个将会失败。如何在应用程序启动时停止后台任务?
为了避免发生这种情况,我想在用户打开应用程序时停止后台任务,并且如果应用程序已经打开,则不要运行后台任务。
如何知道从后台任务,如果应用程序正在运行或不?以及如何在应用程序启动之前阻止它?谢谢。
我这是怎么注册的后台任务:
var result = await BackgroundExecutionManager.RequestAccessAsync();
var builder = new BackgroundTaskBuilder();
builder.Name = taskName;
builder.TaskEntryPoint = taskEntryPoint;
builder.SetTrigger(trigger);
builder.AddCondition(condition);
BackgroundTaskRegistration task = builder.Register();
有一个UserNotPresent
condition指定用户,如果不存在该任务只能运行。但目前我不明白这意味着用户正在使用该应用程序或使用电话。
[This](https://stackoverflow.com/questions/38555407/check-if-application-is-running-from-a-background-task/38560015#38560015)可能会有所帮助。 –