MAUI 在毛伊岛无需用户交互即可发送短信

问题描述 投票:0回答:2

我想在MAUI中发送短信而不打开默认消息应用程序,我想在后台静默发送短信。有谁知道如何实现吗?

sms maui .net-maui
2个回答
1
投票

这是 MAUI 中的实现。 经过 Android 测试,无需打开消息应用程序即可使用。这是 Android 和 iOS 的实现(未经测试)。 在共享项目中创建此类:

 public partial class SmsService
{
   public partial void Send(string address, string message);
}

Android平台实现:

public partial class SmsService
{
    public partial void Send(string phonenbr, string message)
    {
        SmsManager smsM = SmsManager.Default;
        smsM.SendTextMessage(phonenbr, null, message, null, null);
    }
}

iOS平台实现(未测试):

public partial class SmsService
{
    public partial void Send(string address, string message)
    {
        if (!MFMailComposeViewController.CanSendMail)
            return;

        MFMessageComposeViewController smsController = new MFMessageComposeViewController();

        smsController.Recipients = new[] { address };
        smsController.Body = message;
        EventHandler<MFMessageComposeResultEventArgs> handler = null;
        handler = (sender, args) =>
        {
            smsController.Finished -= handler;
            var uiViewController = sender as UIViewController;
            if (uiViewController == null)
            {
                throw new ArgumentException("sender");
            }
            uiViewController.DismissViewControllerAsync(true);
        };
        smsController.Finished += handler;
 UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewControllerAsync(smsController, true);
    }
}

0
投票

使用软件包:Android.Telephony;

© www.soinside.com 2019 - 2024. All rights reserved.