如何处理Xamarin相机按钮单击事件

时间:2017-11-08 10:27:04

标签: xamarin xamarin.forms

现在我正在创建一个 Xamarin 应用程序,我正在使用相机登录。该应用程序正常工作如下:

    var photo = await Plugin.Media.CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { });

上述方法使用Camera API并构建Camera框架和Button,如下所示:

enter image description here

我想在 10秒之后立即触发相机的点击事件。请告诉我活动名称,这将被解雇,它将如何解雇?

由于

1 个答案:

答案 0 :(得分:1)

MediaPlugin中没有此类事件。

如何满足您的要求有两种解决方案。

第一个是运行延迟是否拍摄照片。

var photo = await Plugin.Media.CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { });
await Task.Delay(10000);
if(photo != null)
{ 
    //photo was taken
}
else
{
    //camera was canceled
}

更清洁的解决方案是使用计时器,一旦计时器到期,您就可以执行代码。

第二个更难实施。您需要为Android和iOS编写特定于平台的代码。

这意味着在YourProjectName.Android项目中你必须实现broadcastreceiver来监听相机按钮点击。

对于YourProjectName.iOS也是如此。 这是a link