我正在尝试在WinRT应用中的锁定屏幕上设置背景图像。但是当执行此代码时,我得到一条带有消息的UnauthorizedAccessException:
“访问被拒绝。(HRESULT异常:0x80070005(E_ACCESSDENIED))”
代码来自MSDN,看起来还行。
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);
顺便说一句,我试图安装一些可以在锁定屏幕上更改背景的应用程序,但所有应用程序都显示错误或只是崩溃。我的操作系统版本可能有问题吗?
有谁知道如何解决这个问题?请帮忙!
答案 0 :(得分:1)
您需要访问图片库。 通过打开Package.appxmanifest设置它,转到功能并检查图片库。
答案 1 :(得分:0)
我猜它的某种特权问题可能是管理员。
通过应用此代码尝试解决方法
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);
}
}
它将下载图像并进行设置。在我的情况下,我的代码和我的代码都没有例外。
下载此示例并尝试运行并查看是否存在错误lock screen sample
也尝试使用存储文件来设置流。
await LockScreen.SetImageStreamAsync(await sf.OpenReadAsync());
试着让我知道:)。
答案 2 :(得分:0)
我遇到了完全相同的问题。问题是我的操作系统没有被激活。在您的计算机属性上检查此内容。希望它有所帮助。