Xamarin.forms 在 Android 中无需拨号即可拨打电话

And*_*vil 3 xamarin xamarin.forms

在我的 Xamarin.forms 应用程序中,我可以使用 Xamarin.Essential 插件拨打指定的电话号码。我面临的问题是,当我在 Android 中单击呼叫我的应用程序时,它将打开电话拨号器,用户应手动单击呼叫。

在 iOS 中,它会直接拨打电话,无需通过拨号器。我的意图是防止编辑拨号器中的号码。

那么,如何在不进入拨号程序的情况下拨打该号码,而是直接在 android 中显示呼叫屏幕?我看过很多帖子,但我没有任何想法。任何帮助表示赞赏。

我正在使用这样的 xamarin.Essential 插件拨打电话

PhoneDialer.Open(PhoneNumber.Text);
Run Code Online (Sandbox Code Playgroud)

Vah*_*hir 5

要直接拨打电话,您可以使用Xam.Plugins.Messaging库:

安装好nuget后,在Android项目MainActivity的OnCreate方法中加入这一行

CrossMessaging.Current.Settings().Phone.AutoDial = true;
Run Code Online (Sandbox Code Playgroud)

现在您可以直接拨打任何电话,如下所示:

var phoneDialer = CrossMessaging.Current.PhoneDialer;
if (phoneDialer.CanMakePhoneCall)
   phoneDialer.MakePhoneCall("+27219333000");
Run Code Online (Sandbox Code Playgroud)

请注意,使用此设置需要将 android.permission.CALL_PHONE 添加到清单文件中。