我正在使用Xamarin.Forms(PCL)编程,我看过很多帖子,但没有人能为我工作。我正在使用插件 PhoneCall.Forms.Plugin 我用一个包含下一个代码
的按钮调用了一个方法try
{
var PhoneCallTask = CrossMessaging.Current.PhoneDialer;
if (PhoneCallTask.CanMakePhoneCall)
{
PhoneCallTask.MakePhoneCall("+528331607211", "Laura");
}
else
{
DisplayAlert("Llamada", "No se puede hacer llamada", "Ok");
}
}
它会抛出错误:
System.NotlmplementedException:此程序集的可移植版本中未实现此功能。您应该从主应用程序项目中引用NuGet包,以引用特定于平台的实现。
答案 0 :(得分:0)
答案 1 :(得分:0)
尝试:
etc..
答案 2 :(得分:0)
如果您正在使用this plugin(我不确定这是否是您正在使用的特定部分),那么您需要使用依赖性服务拨打电话(这在插件自述)。
在您的PCL项目中创建一个方法来调用依赖服务:
private void QCall(string number)
{
var notificator = DependencyService.Get<IPhoneCall>();
notificator.MakeQuickCall (number);
}
在每个特定于平台的项目中,初始化插件。对于Android,这将使用OnCreate
的{{1}}方法和MainActivity
方法中的AppDelegate
中的iOS进行。在初始化Xamarin.Forms之后,为每个添加以下行:
FinishedLaunching
然后,当您在PCL项目中调用PhoneCallImplementation.Init();
时,它将运行用户所在的特定平台所需的代码。