【发布时间】:2016-02-16 10:59:16
【问题描述】:
我正在尝试通过从 Windows Phone 8.1 中的固定磁贴启动 FileOpenPicker API 来使用它。
磁贴中存储了一个命令,应用程序在从该磁贴启动时将启动 FileOpenPicker。在这种情况下,FileOpenPicker API 会引发 E_ACCESSDENIED 异常。从应用程序中的按钮调用相同的代码时,它不会崩溃。所以,给应用设置的能力是可以的,只是调用FileOpenPicker的环境好像不太一样。
FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
openPicker.FileTypeFilter.Add(".jpg");
openPicker.FileTypeFilter.Add(".jpeg");
openPicker.FileTypeFilter.Add(".png");
openPicker.PickSingleFileAndContinue();
最后一行是从 tile 开始时崩溃的内容。在 MainPage 构建之后,这两种情况都会在 MainPage 中调用它。 磁贴这样调用它,来自 App.xaml.cs/OnLaunched():
if (!e.TileId.Equals("App"))
{
var mainPage = rootFrame.Content as Views.MainPage;
if (mainPage != null)
{
string command = e.Arguments;
if (!string.IsNullOrWhiteSpace(command) && command.Equals(Utils.TileCommand))
{
mainPage.TakePicture ();
}
}
//else
//{
// rootFrame.Navigate(typeof(Views.MainPage), e.Arguments);
//}
}
我也尝试了 else 部分(已注释掉)并改为在 MainPage.NavigatedTo() 中调用 TakePicture() 方法,但同样的情况发生了。
可能是什么问题?
【问题讨论】:
标签: c# windows-phone-8.1 fileopenpicker