Xamarin.Forms IMediaPicker WinPhone

时间:2015-02-16 19:24:57

标签: android windows-phone-8 camera xamarin

我正在开发一款可在Android和Windows Phone 8.0上运行的应用。 这个应用程序必须能够拍照。 我通过使用IMediaPicker找到了一种简单的方法。 但是,它仅适用于Android。 在WinPhone上,下面的代码返回null。

mediaPicker = DependencyService.Get<IMediaPicker>();

如何在WinPhone上获取IMediaPicker?任何一个例子?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我发现了问题。 在WinPhone上,mediaPicker将为null。然后,有必要从Resolver获取它。

if (mediaPicker == null)
{
    mediaPicker = Resolver.Resolve<IDevice>().MediaPicker;
}

但是,为了实现这一点,在WinPhone应用程序构造函数上启动Resolver是必要的,如下所示:

var resolverContainer = new SimpleContainer();
resolverContainer.Register<IDevice>(t => WindowsPhoneDevice.CurrentDevice).Register<IDisplay>(t => t.Resolve<IDevice>().Display);

Resolver.SetResolver(resolverContainer.GetResolver());

希望它可以帮助别人。