Die Methode TryWallpaperImageAsync gibt immer false zurück und setzt den Hintergrund nicht. Wenn Sie sich diese Frage ansehen: TrySetWallpaperImageAsync() always returns false, sehen Sie, dass ihr Fix das Bild in den lokalen Ordner der Anwendung verschoben hat. Ich mache das hier, aber aus irgendeinem Grund wird meine Tapete immer noch nicht verändert. Was könnte dazu führen, dass diese Methode fehlschlägt?TrySetWallpaperImageAsync gibt immer false zurück, obwohl ich Application LocalFolder verwende
string name = "wallpaper.jpg";
var file = await StorageFile.GetFileFromPathAsync($"{ApplicationData.Current.LocalFolder.Path}\\{name}");
var success = await SetWallpaperAsync(file);
async Task<bool> SetWallpaperAsync(StorageFile fileItem)
{
bool success = false;
if (UserProfilePersonalizationSettings.IsSupported())
{
UserProfilePersonalizationSettings profileSettings = UserProfilePersonalizationSettings.Current;
success = await profileSettings.TrySetLockScreenImageAsync(fileItem);
}
return success;
}
Gilt dies (aus [der Dokumentation] (https://docs.microsoft.com/en-us/uwp/api/Windows.System.UserProfile.UserProfilePersonalizationSettings))? - "Wenn Sie ein Bild mehr als einmal festlegen, muss die neue Bilddatei einen anderen Namen als das zuvor festgelegte Bild haben. Wenn Sie ein neues Bild mit einer Datei mit demselben Namen wie das vorherige Bild erstellen, wird es fehlschlagen." –
Ja !! Ändern des Namens in $ "{Guid.NewGuid()}. jpg" hat tatsächlich funktioniert! Ich denke, ich muss die Dokumentation nächstes Mal genauer lesen. Gehen Sie voran und beantworten Sie die Frage damit, damit ich Ihnen Kredit geben kann @ PeterTorr-MSFT –