using System; using System.Text; using Android.App; using Android.Content; using Android.Provider; using Android.Telephony; namespace HDL_ON_Android.Other { [BroadcastReceiver(Enabled = true, Label = "SMS Receiver")] [IntentFilter(new[] { "android.provider.Telephony.SMS_RECEIVED" })] public class SmsReceiver : BroadcastReceiver { public override void OnReceive(Context context, Intent intent) { if (intent.Action != Telephony.Sms.Intents.SmsReceivedAction) return; var bundle = intent.Extras; if (bundle == null) return; try { var pdus = (Java.Lang.Object[])bundle.Get("pdus"); if (pdus == null) return; var msgs = new SmsMessage[pdus.Length]; var sb = new StringBuilder(); for (var i = 0; i < msgs.Length; i++) { msgs[i] = SmsMessage.CreateFromPdu((byte[])pdus[i]); sb.Append(msgs[i].MessageBody); } // 处理接收到的短信内容 string message = sb.ToString(); // TODO: 处理接收到的短信内容 } catch (Exception ex) { Console.WriteLine("处理接收到的短信内容异常" + ex.Message); } } } }