Я новичок здесь и в настоящее время программирую UWP для рабочего стола Windows 10 для своей компании, которая должна проверять текстовый файл с помощью фоновой задачи и обновлять плитку UWP / вторичную плитку UWP.
Проверка пользовательских библиотек с помощью StorageLibraryContentChangedTrigger проста и работает нормально. Но моя компания говорит, что пользовательские библиотеки не стоит сохранять txt-файл (пример 1):
StorageLibrary videosLib = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Videos);
StorageLibraryContentChangedTrigger videoTrigger = StorageLibraryContentChangedTrigger.Create(videosLib);
taskBuilder = new BackgroundTaskBuilder();
taskBuilder.Name = taskNameFileChanged;
taskBuilder.TaskEntryPoint = taskFileChangedEntryPoint;
taskBuilder.SetTrigger(videoTrigger);
register = taskBuilder.Register();
Проверка локальной папки приложения с помощью этого кода (пример 2):
List<string> typeFilter = new List<string>();
typeFilter.Add(".txt");
var queryoptions = new Windows.Storage.Search.QueryOptions(Windows.Storage.Search.CommonFileQuery.OrderByName, typeFilter);
var query = ApplicationData.Current.LocalFolder.CreateFileQueryWithOptions(options);
//subscribe on query's ContentsChanged event
query.ContentsChanged += Query_ContentsChanged;
private void Query_ContentsChanged(Windows.Storage.Search.IStorageQueryResultBase sender, object args)
{
Debug.WriteLine("File has changed!!!!");
}
тоже работает, но только если UWP открыт/активен.
Q1: Есть ли способ, который запускает ApplicationData.Current.LocalFolder, поэтому я могу сказать, например. "ApplicationData.Current.LocalFolder.ContentChangedTrigger"?
Q2: Если Q1 невозможен, как еще я могу проверить ApplicationData.Current.LocalFolder на наличие изменений содержимого с помощью фоновой задачи?
Q3: Я знаю, что UWP работает в песочнице, но может ли UWP иметь ограниченный доступ к разделу реестра Windows? Доступа для чтения уже будет достаточно.
Заранее спасибо за ответы :-)