2017-02-25 4 views
2

내 사진 라이브러리에서 파일 추적 및 폴더 변경에 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에서 한 번에 여러 파일을 삭제하지는 않습니다.

안부

답변

2

내가 뭔가를 놓친 건가? 하나 개의 파일을 삭제하면, BackgroundTask가 성공적으로 트리거됩니다,하지만 난 여러 파일을 삭제할 때 현재 bahavior가, 변경 레코드가 하나에 연기 될 것입니다

내 PicturesLibrary에서 한 번에 여러 파일을 삭제하지 않을 경우 다음 변경에서.

예를 들어, 두 개의 파일을 삭제 한 후, 우리는 새로운 파일을 생성, 작업이 트리거 된 및 삭제 변경은 StorageLibraryChange 목록에 포함되어 있습니다 : 우리는이 문제를 제기하고 관련 팀이 선동되어

[2/28/2017 4:52:35 PM] Background LibFileChangeTask Start 
Path: C:\Users\xxxx\Pictures\2.txt 
ChangeType: Deleted 
Path: C:\Users\xxxx\Pictures\1.txt 
ChangeType: Deleted 
Path: C:\Users\xxxx\Pictures\New Text Document.txt 
ChangeType: Created 

그것.

+0

응답 해 주셔서 감사합니다. 따라서이 문제는 다음 Windows 10 (모바일) 빌드 내에서 수정되어야합니까? – andy

+0

@andy 해당 팀이 우선 순위가 가장 높은 다른 작업을 수행하고 있음을 보장 할 수는 없지만이 문제를 계속 주시하고 여기에 업데이트를 게시하십시오. 이해해 주셔서 감사합니다. –

+0

알겠습니다. 이해합니다. 조사 해줘서 고마워! – andy

관련 문제