我正在尝试使用SetImageUri在Windows Phone 8上设置锁定屏幕,但我无法使用非本地图像。在我的例子中,我有一个单独的程序集和远程服务器(Azure CDN)上的图像。
我已经添加了清单条目,并获得了示例代码中提供者的用户权限。
这就是代码看起来像imageUri会是这样的:
https://infinitecodex.blob.core.windows.net/nflfanapps/26-WALL-1.png
图像退出并且是有效文件。我尝试将它放在一个单独的图像集中,但仍然会出现此错误。
// At this stage, the app is the active lock screen background provider.
var uri = new Uri(imageUri, UriKind.Absolute);
// Set the lock screen background image.
Windows.Phone.System.UserProfile.LockScreen.SetImageUri(uri);
我尝试的所有内容都会导致异常:
Value does not fall within the expected range.
答案 0 :(得分:5)
根据本指南,您只能使用存储在隔离存储中的图像或随应用程序打包的图像:
Lock screen background for Windows Phone 8
没有什么能阻止您将图像下载到隔离存储并使用Uri将此图像作为锁屏源。
//在此阶段,应用程序是活动的锁定屏幕背景 provider.//以下代码示例显示了新的URI架构.// ms-appdata指向本地应用程序数据文件夹的根目录.// ms-appx 指向本地应用程序安装文件夹,以引用捆绑的资源 在XAP package.var schema = isAppResource? “ms-appx:///”: “MS-应用程序数据:///本地/”;
答案 1 :(得分:1)
我猜只有隔离的存储图像可以用作锁定图像
答案 2 :(得分:0)
另请参阅SetImageUri上的MSDN doc; http://msdn.microsoft.com/en-us/library/windowsphone/develop/windows.phone.system.userprofile.lockscreen.setimageuri(v=vs.105).aspx “ 隔离存储或图像安装路径中图像的绝对路径统一资源标识符(URI)。”