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(); 
} 

は私をしました何かお見逃しですか? 1つのファイルだけを削除すると、BackgroundTaskは正常に起動されますが、私はPicturesLibraryから複数のファイルを一度に削除しません。

よろしく

答えて

2

私は何かを逃しましたか?一つだけのファイルを削除する場合、BackgroundTaskのが正常に起動されますが、私は私のPicturesLibrary

から一度に複数のファイルを削除すると、現在のbahaviorは、複数のファイルを削除、変更レコードが1に延期されたときに、ではありません次回の変更で

は、例えば、2つのファイルを削除した後、我々は新しいファイルを作成し、タスクがトリガされたと削除変更は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(Mobile)ビルドで修正されるはずですか? – andy

+0

@andy対応するチームが優先順位の高い他のタスクに取り組んでいることを保証することはできません。私はこの問題に注意し、ここに更新を掲載します。ご理解いただきありがとうございます。 –

+0

よろしくお願いします。あなたの調査をありがとう! – andy

関連する問題