[UWP开发]在windows10中设置壁纸~UserProfilePersonalizationSettings
2015-12-10 16:19
405 查看
在之前的wp8.1和wp8中,微软没有公开设置壁纸的API,只有一个设置锁屏的API,但在Windows10中,微软为我们提供了设置壁纸的API:TrySetWallpaperImageAsync,他定义在Windows.System.UserProfile.UserProfilePersonalizationSettings类中。
在使用前,需要调用UserProfilePersonalizationSettings.IsSupported()来检测当前环境是否允许自定义壁纸,如果可以的话,才能进行后续操作。
在设置壁纸的时候,针对壁纸文件的位置是有要求的,不能随意指定一个地址,经测试,放在Windows.Storage.ApplicationData.Current.LocalFolder中是可以的,但之前在10240中,也可以直接通过URI把项目文件夹中的图片设为壁纸(调用方法Windows.Storage.StorageFile.GetFileFromApplicationUriAsync()),但是我在10586中测试时又发现行不通了,只能放在localfolder相关的位置。
附上我的demo:设置壁纸.zip
在使用前,需要调用UserProfilePersonalizationSettings.IsSupported()来检测当前环境是否允许自定义壁纸,如果可以的话,才能进行后续操作。
在设置壁纸的时候,针对壁纸文件的位置是有要求的,不能随意指定一个地址,经测试,放在Windows.Storage.ApplicationData.Current.LocalFolder中是可以的,但之前在10240中,也可以直接通过URI把项目文件夹中的图片设为壁纸(调用方法Windows.Storage.StorageFile.GetFileFromApplicationUriAsync()),但是我在10586中测试时又发现行不通了,只能放在localfolder相关的位置。
if (UserProfilePersonalizationSettings.IsSupported() == true) { await new MessageDialog("可以设置壁纸哦~").ShowAsync(); var current = UserProfilePersonalizationSettings.Current; bool re = await current.TrySetWallpaperImageAsync(/*StorageFile*/); if (re == true) { await new MessageDialog("设置成功").ShowAsync(); } else { await new MessageDialog("设置失败了").ShowAsync(); } } else { await new MessageDialog("不支持设置壁纸哦~").ShowAsync(); }
附上我的demo:设置壁纸.zip
相关文章推荐
- 提高网页响应速度
- JS—简单年历表
- Bonfire: Return Largest Numbers in Arrays
- 2016年Win10重大更新RedStone版与win10 th2版有什么不同?
- OCP-1Z0-051-2015-58题
- 如何在github上创建一个开源工程
- 一种基于TLS的高级反调试技术
- 文件中类的存放
- 如何在真机上调试Android应用程序(图文详解)
- Integer等等和equals的注意之处
- 使用IOS企业版证书发布应用
- PHP创建PowerPoint2007文档的方法
- ls -bash: ls: command not found 修改 /etc/profile 后命令不识别
- android加深笔记--IPC通信之Messenger
- project euler 71
- java获取request中参数
- mongodb-2
- 几种移动开发技术的比较和选型
- jsp分页
- 中枢理论3