내 사진 라이브러리에서 파일 추적 및 폴더 변경에 BackgroundTask를 사용하고 있습니다. 이것은 잘 작동하지만 한 번에 여러 파일을 삭제하면 BackgroundTask가 실행되지 않습니다. 여기 여러 파일을 삭제할 때 UWP StorageLibraryContentChangedTrigger
내 BG-작업 등록private async void RegisterTask()
{
var result = await BackgroundExecutionManager.RequestAccessAsync();
var builder = new BackgroundTaskBuilder();
builder.Name = taskName;
builder.TaskEntryPoint = taskEntryPoint;
StorageLibrary picturesLibrary = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Pictures);
StorageLibraryContentChangedTrigger libraryTrigger = StorageLibraryContentChangedTrigger.Create(picturesLibrary);
builder.SetTrigger(libraryTrigger);
builder.Register();
}
입니다 그리고 이것은 내 간단한 테스트 BG-작업
public async void Run(IBackgroundTaskInstance taskInstance)
{
var deferral = taskInstance.GetDeferral();
try
{
await DoWork();
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("ERROR BG: " + ex.Message.ToString());
}
deferral.Complete();
}
그리고 마지막으로 내 DoWork()와 작업
private async Task DoWork()
{
StorageLibrary picturesLibrary = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Pictures);
StorageLibraryChangeTracker picturesTracker = picturesLibrary.ChangeTracker;
picturesTracker.Enable();
StorageLibraryChangeReader changeReader = picturesTracker.GetChangeReader();
IReadOnlyList<StorageLibraryChange> changes = await changeReader.ReadBatchAsync();
foreach (StorageLibraryChange change in changes)
{
// Reading the changes
}
await changeReader.AcceptChangesAsync();
}
내가나요 뭔가보고 싶니? 한 파일 만 삭제할 때 BackgroundTask가 성공적으로 트리거되지만, 내 PicturesLibrary에서 한 번에 여러 파일을 삭제하지는 않습니다.
안부
응답 해 주셔서 감사합니다. 따라서이 문제는 다음 Windows 10 (모바일) 빌드 내에서 수정되어야합니까? – andy
@andy 해당 팀이 우선 순위가 가장 높은 다른 작업을 수행하고 있음을 보장 할 수는 없지만이 문제를 계속 주시하고 여기에 업데이트를 게시하십시오. 이해해 주셔서 감사합니다. –
알겠습니다. 이해합니다. 조사 해줘서 고마워! – andy