Ich versuche, ein Remote-Bild als Desktop-Hintergrund/Telefon Lockscreen in meinem W10 UWP-App einzurichten:W10 UWP - Set Remote-Bild als Desktop-Hintergrund/lockscreen
string name = "test_image.jpg";
Uri uri = new Uri("http://www.ucl.ac.uk/news/news-articles/1213/muscle-fibres-heart.jpg");
// download image from uri into temp storagefile
var file = await StorageFile.CreateStreamedFileFromUriAsync(name, uri, RandomAccessStreamReference.CreateFromUri(uri));
// file is readonly, copy to a new location to remove restrictions
var file2 = await file.CopyAsync(KnownFolders.PicturesLibrary);
// test -- WORKS!
//var file3 = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/Design/1.jpg"));
// try set lockscreen/wallpaper
if (ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")) // Phone
success = await UserProfilePersonalizationSettings.Current.TrySetLockScreenImageAsync(file2);
else // PC
success = await UserProfilePersonalizationSettings.Current.TrySetWallpaperImageAsync(file2);
file1
wie es funktioniert nicht ist schreibgeschützt, also kopiere ich es an einen neuen Ort (Bilder-Bibliothek), um Einschränkungen zu entfernen ->file2
.
Hinweis: file3
Werke, so dass ich bin mir nicht sicher, was passiert, - Ich gehe davon aus TrySetWallpaperImageAsync/TrySetLockScreenImageAsync
akzeptiert nur msappx
lokale Dateien ...
Wer irgendwelche Ideen auf der Arbeit arounds haben?
Danke.
Haben Sie versucht, die Zieldatei in ApplicationData.Current.LocalFolder zu speichern? Anscheinend akzeptieren diese Methoden nur Dateien aus bestimmten Ordnern. –
Ah, das war's! Vielen Dank. –
Ich würde auch vorschlagen, zu überprüfen, ob Ihre Gerätefamilie Mobile ist, anstatt nach API zu suchen, während es in Zukunft keinen Unterschied mehr gibt, es funktioniert möglicherweise nicht richtig, abhängig davon, welche Gerätefamilien erscheinen. –