2017-07-28 4 views
0

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; 
} 
+1

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." –

+0

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 –

Antwort

1

Es gibt eine documented limitation mit der API, wenn sie mit doppelten Dateinamen handelt.

Wenn die Datei, die Sie als Hintergrund festlegen möchten, den gleichen Namen wie das aktuelle Hintergrundbild hat, ignoriert das System die Anfrage und die Operation wird nicht ausgeführt (false).

Sie sollten immer einen eindeutigen Dateinamen verwenden, wenn Sie das Hintergrundbild festlegen, um sicherzustellen, dass es richtig eingestellt ist.

Verwandte Themen