W10 UWP - 将远程图像设置为桌面墙纸/锁屏

时间:2015-08-06 14:04:07

标签: c# windows-runtime win-universal-app windows-10 wallpaper

我试图在我的W10 UWP应用中将远程图像设置为桌面壁纸/手机锁屏:

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因为只读而无法正常工作,因此我将其复制到新位置(图片库)以删除限制 - > file2

注意file3有效,所以我不确定发生了什么 - 我认为TrySetWallpaperImageAsync/TrySetLockScreenImageAsync只接受msappx本地文件...

任何人都有关于解决方法的想法吗?

感谢。

0 个答案:

没有答案