我正在尝试在我的WinRT应用程序的锁定屏幕上设置背景图像。但是,当执行这段代码时,我得到一个带有消息的UnauthorizedAccessException:
访问被拒绝。(HRESULT例外: 0x80070005 (E_ACCESSDENIED))
代码是从MSDN中提取的,看起来是OK。
private async void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
var imagePicker = new FileOpenPicker
{
ViewMode = PickerViewMode.Thumbnail,
SuggestedStartLocation = PickerLocationId.PicturesLibrary,
FileTypeFilter = { ".jpg", ".jpeg", ".png", ".bmp" },
};
var imageFile = await imagePicker.PickSingleFileAsync();
if (imageFile != null)
{
await LockScreen.SetImageFileAsync(imageFile);
}
}下面描述的异常将在这一行代码中抛出:
await LockScreen.SetImageFileAsync(imageFile);顺便说一句,我尝试过安装一些应用程序,这些应用程序可以在锁定屏幕上改变您的背景,但它们都会显示错误或崩溃。也许我的操作系统版本出了什么问题?
有人知道如何解决这个问题吗?请帮帮我!
发布于 2014-09-30 12:17:03
我也面临着同样的问题。问题是我的操作系统没有激活。检查计算机属性上的这个东西。希望能帮上忙。
发布于 2013-09-27 10:20:39
你需要进入图片库。通过打开Package.appxmanifest、goto功能和检查图片库来设置它。
发布于 2013-09-28 04:39:10
我想这是某种特权问题,可能是管理问题。
通过应用下面的代码来尝试一下
private async void Button_Click(object sender, RoutedEventArgs e)
{
var client = new HttpClient();
var bytes = await client.GetByteArrayAsync(new Uri("http://transfer-talk.com/wp-content/uploads/Kaka-Real-Madrid.jpg"));
StorageFile sf = await Windows.Storage.ApplicationData.Current.LocalFolder.CreateFileAsync("test.jpg", CreationCollisionOption.ReplaceExisting);
await FileIO.WriteBytesAsync(sf, bytes);
//var imageFile = await imagePicker.PickSingleFileAsync();
//if (imageFile != null)
{
await LockScreen.SetImageFileAsync(sf);
}
}它将下载一个图像并设置。在我的情况下,你的代码和我的代码都不例外。
下载此示例并尝试运行并查看是否存在错误锁屏样本
还可以尝试设置流,而不是使用存储文件。
await LockScreen.SetImageStreamAsync(await sf.OpenReadAsync());试着告诉我:)
https://stackoverflow.com/questions/19040598
复制相似问题