Ich versuche, den Sperrbildschirm Hintergrund aus meiner App zu setzen. Ich verwende den folgenden Code:UWP-Set Sperrbildschirm Bild funktioniert nicht
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...");
Das Foto vorhanden und gültig ist, wenn ich es in Datei-Explorer anzuzeigen. Mein C# bekommt die StorageFile
korrekt. Aber immer wenn ich TrySetLockScreenImageAsync
starte, gibt es false
zurück. (Beachten Sie, dass es nur gibt false
zurück, und nicht ein Exception
oder alles, was ich tatsächlich sehen kann, was das Problem ist.) Ich verwende genau das, was ich here gefunden habe, aber ich kann es einfach nicht zur Arbeit bekommen. Gibt es ein anderes Stück, das ich vermisse?
In demselben Link, den Sie angegeben haben, müssen Sie zuerst 'UserProfilePersonalizationSettings.IsSupported()' überprüfen. ist es wahr? – AVK
@AVKNaidu Ja, es ist wahr. Alles, was ich gepostet habe, ist in eine "if" -Anweisung eingebettet, die diese Bedingung überprüft. – RareNCool
Seltsam. Denn ohne deinen 'photo_cache' habe ich es auf meinem Handy ausprobiert, es funktioniert perfekt. – AVK