我想在MAUI中发送短信而不打开默认消息应用程序,我想在后台静默发送短信。有谁知道如何实现吗?
这是 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);
}
}
使用软件包:Android.Telephony;