UWP设置锁屏图像不工作

本文关键字:工作 图像 设置 UWP | 更新日期: 2023-09-27 18:13:29

我正在尝试从我的应用程序设置锁屏背景。我使用以下代码:

var cachedPhotos = (await Photos.GetCachedPhotosAsync()).ToList();    // Get a list of Photo objects ({ "id": "12345.jpg", "url": "http://me.com/12345.jpg" }.
var newPhotos = (await Photos.GetAllPhotosAsync()).ToList();    // Ditto above comment.
var newPhotosList = ListHelpers.Merge(cachedPhotos, newPhotos);    // Merge the two lists.
await Photos.CachePhotosAsync(newPhotosList);    // Create a JSON file with a list of Photo objects. Also download each photo into the "photo_cache" folder.
var index = _random.Next(0, newPhotosList.Count - 1);
var photo = newPhotosList[index];
var file = await StorageFile.GetFileFromPathAsync($"{ApplicationData.Current.LocalCacheFolder.Path}''photo_cache''{photo.Id}");
if (await UserProfilePersonalizationSettings.Current.TrySetLockScreenImageAsync(file))
    Debug.WriteLine("Wallpaper set!");
else
    Debug.WriteLine("Wallpaper failed to set...");

照片存在,如果我在文件资源管理器中查看它是有效的。我的c#得到了正确的StorageFile。但是当我运行TrySetLockScreenImageAsync时,它返回false。(请注意,它只有返回false,而不是Exception或任何我可以看到问题所在的东西。)我用的正是我在这里找到的东西,但我就是不能让它工作。我还遗漏了什么吗?

UWP设置锁屏图像不工作

好的,所以出于一些奇怪的原因,我似乎必须在StorageFile上做CopyAsync并将其复制到LocalFolder,然后使用新复制的文件。显然,它不喜欢来自LocalCacheFolder的文件