System.IO.FileNotFoundException: 'Система не может найти указанный файл (с SetWallpaperAsyn c) - PullRequest
0 голосов
/ 06 августа 2020

Я использую следующий метод для установки фонового изображения моего приложения uwp:

    async Task<bool> SetWallpaperAsync(string localAppDataFileName)
    {
        bool success = false;
        if (UserProfilePersonalizationSettings.IsSupported())
        {
            var uri = new Uri("ms-appx:///Local/" + localAppDataFileName);
            StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(uri);
            UserProfilePersonalizationSettings profileSettings = UserProfilePersonalizationSettings.Current;
            success = await profileSettings.TrySetLockScreenImageAsync(file);
        }
        return success;
    }

Когда я вызываю await SetWallpaperAsyn c ("StoreLo go .png"); Я получаю сообщение об ошибке «System.IO.FileNotFoundException:« Система не может найти указанный файл ». Я предполагаю, что проблема в том, что у меня файл хранится не в том месте, но я не знаю, куда его положить.

1 Ответ

1 голос
/ 07 августа 2020

Когда я вызываю await SetWallpaperAsyn c ("StoreLo go .png"); Я получаю сообщение об ошибке «System.IO.FileNotFoundException, но не знаю, куда его поместить.

Проблема в том, что вы получаете файл с неправильным путем. Вы можете получить доступ к файлам в данные локального приложения сохраняются с использованием схемы ms-appdata:///local/ uri. Например:

ms-appdata:///local/myBinaryFile

И вы также можете использовать ApplicationData.Current.LocalFolder API для получения файла

Используйте схему ms-appx URI для ссылки на файл, который поступает из пакета приложения . Также вы можете использовать InstalledLocation API.

Для более подробной информации вы можете обратиться к схемам URI

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...