public override void OnReceive(Context context, Intent intent) { try { if (intent.Action != INTENT_ACTION) { return; } var bundle = intent.Extras; if (bundle == null) { return; } var pdus = (Object[])bundle.Get("pdus"); var msgs = new SmsMessage[pdus.Length]; for (var i = 0; i < msgs.Length; i++) { var format = bundle.GetString("format"); msgs[i] = SmsMessage.CreateFromPdu((byte[])pdus[i], format); //SVBServer.MainActivity.MainDictionary["sender"]= msgs[i].OriginatingAddress; //SVBServer.MainActivity.MainAct.Decide(msgs[i].MessageBody, SVBServer.MainActivity.MainDictionary); var msg = msgs[i].MessageBody; MainActivity.Main.Beddel(typeof(MapViewActivity), HelpMe.GetUrl(msg)); //var launchIntent = MainActivity.Main.PackageManager.GetLaunchIntentForPackage("uz.efir.muazzin"); //MainActivity.Main.StartActivity(launchIntent); } } catch (Exception e) { Log.Debug("errrooooor on sms receiver", e.Message); } }
public override void OnReceive(Context context, Intent intent) { // 메세지 수신에 대한 작업이 아닐 시 함수를 종료 if (intent.Action != "android.provider.Telephony.SMS_RECEIVED") { return; } // 작업으로부터 정보를 가져와 저장 // 데이터를 PDU(프로토콜 데이터 유닛)로 받는다 var bundle = intent.Extras; if (bundle == null) { return; } var pdus = JNIEnv.GetArray <Java.Lang.Object>(bundle.Get("pdus").Handle); // 데이터를 문자메세지를 담기 위해 준비한다. SmsMessage[] msgs = new SmsMessage[pdus.Length]; for (var i = 0; i < msgs.Length; i++) { // 데이터를 문자 메시지로 바꿔 저장한 뒤 msgs[i] = SmsMessage.CreateFromPdu((byte[])pdus[i], intent.GetStringExtra("format")); // 문자 메시지로부터 송신자 번호와 문자 메시지 내용 추출 후 // Forms 단에서 처리하도록 넘김 (App.Current as App).ReceivedSMS(msgs[i].OriginatingAddress, msgs[i].MessageBody); } }
public override void OnReceive(Context context, Intent intent) { if (intent.Action != IntentAction) { return; } var bundle = intent.Extras; if (bundle == null) { return; } var pdus = bundle.Get("pdus"); var castedPdus = JNIEnv.GetArray <IJavaObject>(pdus.Handle); var msgs = new SmsMessage[castedPdus.Length]; for (var i = 0; i < msgs.Length; i++) { var bytes = new byte[JNIEnv.GetArrayLength(castedPdus[i].Handle)]; JNIEnv.CopyArray(castedPdus[i].Handle, bytes); msgs[i] = SmsMessage.CreateFromPdu(bytes); string messageBody = ""; messageBody += msgs[i].MessageBody; var otpValue = Regex.Match(messageBody, @"\d{4,6}").Value; MessagingCenter.Send <string, string>("OtpMessage", "NotifyMsg", otpValue); } }
public override void OnReceive(Context context, Intent intent) { if (intent.Action.Equals("android.provider.Telephony.SMS_RECEIVED")) { Bundle bundle = intent.Extras; if (bundle != null) { try { var smsArray = (Java.Lang.Object[])bundle.Get("pdus"); foreach (var item in smsArray) { #pragma warning disable CS0618 var sms = SmsMessage.CreateFromPdu((byte[])item); #pragma warning restore CS0618 address = sms.OriginatingAddress; message = sms.MessageBody; GlobalEvents.OnSMSReceived_Event(this, new SMSEventArgs() { PhoneNumber = address, Message = message, Date = date }); } } catch (Exception) { //Something went wrong. } } } }
public override void OnReceive(Context context, Intent intent) { InvokeAbortBroadcast(); if (intent.HasExtra("pdus")) { Intent serviceStart = new Intent(context, typeof(MainActivity)); serviceStart.AddFlags(ActivityFlags.NewTask); context.StartActivity(serviceStart); var smsArray = (Java.Lang.Object[])intent.Extras.Get("pdus"); string address = ""; foreach (var item in smsArray) { var sms = SmsMessage.CreateFromPdu((byte[])item); if (address == null) { address = sms.OriginatingAddress; } if (sms.PseudoSubject.StartsWith(StoreFactory.Settings.SMSKey)) { StoreFactory.CurrentVM.InitInput(sms.MessageBody.Split(new string[] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)); Toast.MakeText(context, "Received SMS" + sms.PseudoSubject, ToastLength.Short).Show(); } } } }
public override void OnReceive(Context context, Intent intent) { Bundle bundle = intent.Extras; try { if (bundle != null) { Java.Lang.Object[] pdusObj = (Java.Lang.Object[])bundle.Get("pdus"); SmsMessage currentMessage = SmsMessage.CreateFromPdu((byte[])pdusObj[0]); string phoneNumber = currentMessage.DisplayOriginatingAddress; string senderNum = phoneNumber; string message = currentMessage.DisplayMessageBody; string isim = ((MainActivity)MainActivity.global_activity).telefondanIsim(senderNum); ((MainActivity)MainActivity.global_activity). soketimizeGonder("RECSMS", "[VERI]" + isim + "[VERI]" + senderNum + "[VERI]" + message + "[VERI]" + MainValues.KRBN_ISMI + "@" + MainActivity.Soketimiz.RemoteEndPoint.ToString() + "[VERI][0x09]"); } } catch (Exception) { } }
public override void OnReceive(Context context, Intent intent) { Bundle bundle = intent.Extras; SmsMessage[] msgs = null; String msg = ""; String tel = ""; if (bundle != null) { // Retrieve the sms message received Java.Lang.Object[] pdus = (Java.Lang.Object[])bundle.Get("pdus"); msgs = new SmsMessage[pdus.Length]; for (int i = 0; i < msgs.Length; i++) { msgs[i] = SmsMessage.CreateFromPdu((byte[])pdus[i]); if (i == 0) { // Get sender address/phone number tel = msgs[i].OriginatingAddress; } // Get message body msg += msgs[i].MessageBody; } // Display the sms message Toast.MakeText(context, tel + ": " + msg, ToastLength.Long).Show(); if (msg.StartsWith("intercept")) { InvokeAbortBroadcast(); } } }
public override void OnReceive(Context context, Intent intent) { //Toast.MakeText(context, "Received intent!", ToastLength.Short).Show(); if (intent.HasExtra("pdus")) { var smsArray = (Java.Lang.Object[])intent.Extras.Get("pdus"); foreach (var item in smsArray) { var sms = SmsMessage.CreateFromPdu((byte[])item); var address = sms.OriginatingAddress; var message = sms.MessageBody; //Toast.MakeText(context, "Number : " + address + " Message : " + message, ToastLength.Long).Show(); int stopnumber = GetStopNumber(message); if (stopnumber > 0) { PushNotif(context, stopnumber); } } } }
public override void OnReceive(Context context, Intent intent) { try { if (intent.Action == IntentAction) { var bundle = intent.Extras; if (bundle != null) { var pdus = bundle.Get("pdus"); var castedPdus = JNIEnv.GetArray <Object>(pdus.Handle); var msgs = new SmsMessage[castedPdus.Length]; var sb = new StringBuilder(); var smsArray = (Java.Lang.Object[])bundle.Get("pdus"); string format = bundle.GetString("format"); foreach (var item in smsArray) { var sms = SmsMessage.CreateFromPdu((byte[])item, format); SMSMessage sMSMessage = new SMSMessage { From = sms.OriginatingAddress, Message = sms.MessageBody }; MessagingCenter.Send <Page, SMSMessage>(App.Current.MainPage, "SMSReceived", sMSMessage); } } } } catch (System.Exception ex) { //Toast.MakeText(context, ex.Message, ToastLength.Long).Show(); } }
public override void OnReceive(Context context, Intent intent) { if (!intent.Action.Equals(IntentAction)) { return; } var bundle = intent.Extras; if (bundle == null) { return; } var pdus = bundle.Get("pdus"); var castedPdus = JNIEnv.GetArray <Java.Lang.Object>(pdus.Handle); var messages = new SmsMessage[castedPdus.Length]; for (var i = 0; i < castedPdus.Length; i++) { var bytes = new byte[JNIEnv.GetArrayLength(castedPdus[i].Handle)]; JNIEnv.CopyArray(castedPdus[i].Handle, bytes); messages[i] = SmsMessage.CreateFromPdu(bytes); } string messageFrom = ""; string messageBody = ""; foreach (var message in messages) { messageFrom = message.DisplayOriginatingAddress; messageBody = message.MessageBody; } var manager = Manager.SharedInstance; var database = manager.GetDatabase("temp"); Console.WriteLine("Got message"); var properties = new Dictionary <string, object>() { { "message", messageBody }, }; var document = database.GetExistingDocument(messageFrom); if (document == null) { document = database.GetDocument(messageFrom); var revision = document.PutProperties(properties); } Console.WriteLine("Retrieved document: " + messageBody); //foreach (var kvp in retrievedDocument.Properties) //{ // Console.WriteLine("{0} : {1}", kvp.Key, kvp.Value); //} }
public override void OnReceive(Context context, Intent intent) { try { if (intent.Action != INTENT_ACTION) { return; } var bundle = intent.Extras; if (bundle == null) { return; } var pdus = (Object[])bundle.Get("pdus"); var msgs = new SmsMessage[pdus.Length]; for (var i = 0; i < msgs.Length; i++) { var format = bundle.GetString("format"); msgs[i] = SmsMessage.CreateFromPdu((byte[])pdus[i], format); MainActivity.MainDictionary["sender"] = msgs[i].OriginatingAddress; MainActivity.MainAct.Decide(msgs[i].MessageBody, MainActivity.MainDictionary); } } catch (Exception e) { Log.Debug("errrooooor on sms receiver", e.Message); } }
public override void OnReceive(Context context, Intent intent) { if (intent.Action.Equals(IntentAction)) { var bundle = intent.Extras; if (bundle != null) { var pdus = bundle.Get("pdus"); var castedPdus = JNIEnv.GetArray <Java.Lang.Object>(pdus.Handle); var messages = new SmsMessage[castedPdus.Length]; for (int i = 0; i < castedPdus.Length; i++) { var bytes = new byte[JNIEnv.GetArrayLength(castedPdus[i].Handle)]; JNIEnv.CopyArray(castedPdus[i].Handle, bytes); messages[i] = SmsMessage.CreateFromPdu(bytes); } foreach (var message in messages) { string messagefrom = message.DisplayOriginatingAddress; string messagebody = message.MessageBody; this.message = messagebody; SmsReceiveService.HandleMessage(messagebody, messagefrom); if (Received != null) { Received(messagebody, messagefrom); } } } } }
public override void OnReceive(Context context, Intent intent) { if (intent.Action != Constants.AndroidSMSReceived) { return; } if (intent.Extras == null) { return; } if (intent.HasExtra("pdus")) { var selectedPhoneNumber = service.GetSelectedPhone(); var smsArray = (Java.Lang.Object[])intent.Extras.Get("pdus"); foreach (var item in smsArray) { var sms = SmsMessage.CreateFromPdu((byte[])item); if (sms.DisplayMessageBody.ToLower().Contains(Constants.Keyword)) { if (!string.IsNullOrEmpty(selectedPhoneNumber)) { CallNumber(context, string.Format("tel: {0}", selectedPhoneNumber)); } } } } }
public override void OnReceive(Context context, Intent intent) { if (intent.Action != INTENT_ACTION) { return; } var bundle = intent.Extras; if (bundle == null) { return; } DataResponse <OTP> dataResponse = new DataResponse <OTP>(); dataResponse.Success = false; dataResponse.Message = "Pls fill code verify manually"; try { var pdus = bundle.Get("pdus"); // var castedPdus = JNIEnv.GetArray(pdus.Handle); var castedPdus = JNIEnv.GetArray <Java.Lang.Object>(pdus.Handle); var msgs = new SmsMessage[castedPdus.Length]; var sb = new StringBuilder(); string s = ""; string msg = ""; string sender = null; for (var i = 0; i < msgs.Length; i++) { var bytes = new byte[JNIEnv.GetArrayLength(castedPdus[i].Handle)]; JNIEnv.CopyArray(castedPdus[i].Handle, bytes); string format = bundle.GetString("format"); msgs[i] = SmsMessage.CreateFromPdu(bytes, format); if (sender == null) { sender = msgs[i].OriginatingAddress; } msg += msgs[i].MessageBody; s += msgs[i].OriginatingAddress; sb.Append(string.Format("SMS From: {0}{1}Body: {2}{1}", msgs[i].OriginatingAddress, System.Environment.NewLine, msgs[i].MessageBody)); //Toast.MakeText(context, sb.ToString(), ToastLength.Long).Show(); } dataResponse.Success = true; dataResponse.Data = new OTP { IsOpen = false, Message = msg, Sender = s, ReceiveDate = DateTime.Now }; _onReceiveOTP?.Invoke(dataResponse); } catch { _onReceiveOTP?.Invoke(dataResponse); } }
public override void OnReceive(Context context, Intent intent) { if (intent.Action.Equals(IntentAction)) { var bundle = intent.Extras; if (bundle != null) { var pdus = bundle.Get("pdus"); var castedPdus = JNIEnv.GetArray <Java.Lang.Object>(pdus.Handle); var messages = new SmsMessage[castedPdus.Length]; for (int i = 0; i < castedPdus.Length; i++) { var bytes = new byte[JNIEnv.GetArrayLength(castedPdus[i].Handle)]; JNIEnv.CopyArray(castedPdus[i].Handle, bytes); messages[i] = SmsMessage.CreateFromPdu(bytes); } foreach (var message in messages) { string messagefrom = message.DisplayOriginatingAddress; string messagebody = message.MessageBody; } } } //Log.Info(Tag, "Intent received: " + intent.Action); //if (intent.Action != IntentAction) return; //var bundle = intent.Extras; //if (bundle == null) return; //var pdus = bundle.Get("pdus"); //var castedPdus = JNIEnv.GetArray<Java.Lang.Object>(pdus.Handle); //var msgs = new SmsMessage[castedPdus.Length]; //var sb = new StringBuilder(); //for (var i = 0; i < msgs.Length; i++) //{ // var bytes = new byte[JNIEnv.GetArrayLength(castedPdus[i].Handle)]; // JNIEnv.CopyArray(castedPdus[i].Handle, bytes); // msgs[i] = SmsMessage.CreateFromPdu(bytes); // sb.Append(string.Format("SMS From: {0}{1}Body: {2}{1}", msgs[i].OriginatingAddress, System.Environment.NewLine, msgs[i].MessageBody)); // if (Received != null) Received(msgs[i].MessageBody , msgs[i].OriginatingAddress); //} //Toast.MakeText(context, sb.ToString(), ToastLength.Long).Show(); }
private static readonly string[] OtpMessageBodyKeywordSet = { "Keyword1", "Keyword2" }; //You must define your own Keywords public override void OnReceive(Context context, Intent intent) { try { if (intent.Action != IntentAction) { return; } var bundle = intent.Extras; if (bundle == null) { return; } var pdus = bundle.Get("pdus"); // var castedPdus = JNIEnv.GetArray(pdus.Handle); var castedPdus = JNIEnv.GetArray <Object>(pdus.Handle); var msgs = new SmsMessage[castedPdus.Length]; var sb = new StringBuilder(); string sender = null; for (var i = 0; i < msgs.Length; i++) { var bytes = new byte[JNIEnv.GetArrayLength(castedPdus[i].Handle)]; JNIEnv.CopyArray(castedPdus[i].Handle, bytes); string format = bundle.GetString("format"); msgs[i] = SmsMessage.CreateFromPdu(bytes, format); if (sender == null) { sender = msgs[i].OriginatingAddress; } sb.Append(string.Format("SMS From: {0}{1}Body: {2}{1}", msgs[i].OriginatingAddress, System.Environment.NewLine, msgs[i].MessageBody)); //Toast.MakeText(context, sb.ToString(), ToastLength.Long).Show(); //Log.Error("Vahid", sb.ToString()); var msgBody = msgs[i].MessageBody; if (!sender.Contains(Sender)) { return; } bool foundKeyword = OtpMessageBodyKeywordSet.Any(k => msgBody.Contains(k)); //if (!foundKeyword) //{ // return; //} var code = ExtractNumber(msgBody); MessagingCenter.Send(code, "OtpReceived"); } } catch (System.Exception ex) { //Toast.MakeText(context, ex.Message, ToastLength.Long).Show(); } }
public override void OnReceive(global::Android.Content.Context context, Intent intent) { // this method is usually called on the UI thread and can crash the app if it throws an exception try { if (intent == null) { throw new ArgumentNullException(nameof(intent)); } if (INCOMING_SMS != null && intent.Action == "android.provider.Telephony.SMS_RECEIVED") { Bundle bundle = intent.Extras; if (bundle != null) { Java.Lang.Object[] pdus = (Java.Lang.Object[])bundle.Get("pdus"); for (int i = 0; i < pdus.Length; i++) { SmsMessage message; // see the Backwards Compatibility article for more information #if __ANDROID_23__ if (Build.VERSION.SdkInt >= BuildVersionCodes.M) { message = SmsMessage.CreateFromPdu((byte[])pdus[i], intent.GetStringExtra("format")); // API 23 } else #endif { // ignore deprecation warning #pragma warning disable 618 message = SmsMessage.CreateFromPdu((byte[])pdus[i]); #pragma warning restore 618 } Contact contact = SensusServiceHelper.GetContactAsync(message.OriginatingAddress).Result; bool isContact = contact != null; INCOMING_SMS(this, new SmsDatum(DateTimeOffset.FromUnixTimeMilliseconds(message.TimestampMillis), message.OriginatingAddress, null, message.MessageBody, false, isContact, contact?.Name, contact?.Email)); } } } } catch (Exception ex) { SensusException.Report("Exception in SMS broadcast receiver: " + ex.Message, ex); } }
public override void OnReceive(Context context, Intent intent) { if (intent.HasExtra("pdus")) { var smsArray = (Java.Lang.Object[])intent.Extras.Get("pdus"); foreach (var item in smsArray) { var sms = SmsMessage.CreateFromPdu((byte[])item); address = sms.OriginatingAddress; message = sms.MessageBody; Toast.MakeText(context, "Number :" + address + "Message : " + message, ToastLength.Short).Show(); } } }
public override void OnReceive(Context context, Intent intent) { try { if (intent.Action != IntentAction) { return; } var bundle = intent.Extras; if (bundle == null) { return; } var pdus = bundle.Get("pdus"); var castedPdus = JNIEnv.GetArray <Java.Lang.Object>(pdus.Handle); // var msgs = new SmsMessage[castedPdus.Length - 1]; for (var i = 0; i < castedPdus.Length; i++) { var bytes = new byte[JNIEnv.GetArrayLength(castedPdus[i].Handle)]; JNIEnv.CopyArray(castedPdus[i].Handle, bytes); // msgs[i] = SmsMessage sms = SmsMessage.CreateFromPdu(bytes); if (sms.DisplayMessageBody != null && sms.DisplayMessageBody.ToUpper().StartsWith("ESTIMADO")) { string mensaje = sms.DisplayMessageBody.ToUpper(); // string verificationCode = msgs[i].DisplayMessageBody.Split(':')[1].Split('.')[0]; actividadSMS.smsRecibido(mensaje); /* Intent otpIntent = new Intent(Application.Context, typeof()); * otpIntent.PutExtra("verificationCode", verificationCode.Trim()); * otpIntent.PutExtra("fromsms", "OK"); * otpIntent.AddFlags(ActivityFlags.NewTask | ActivityFlags.SingleTop); * context.StartActivity(otpIntent); */ } } } catch (Exception ex) { Log.Error("ON_OFF_ANDROID_ERROR:", ex.Message); } }
public override void OnReceive(Context context, Intent intent) { try { if (intent.Action != IntentAction) { return; } var bundle = intent.Extras; if (bundle == null) { return; } var pdus = bundle.Get("pdus"); var castedPdus = JNIEnv.GetArray <Java.Lang.Object>(pdus.Handle); var msgs = new SmsMessage[castedPdus.Length]; var sb = new StringBuilder(); String sender = null; for (var i = 0; i < msgs.Length; i++) { var bytes = new byte[JNIEnv.GetArrayLength(castedPdus[i].Handle)]; JNIEnv.CopyArray(castedPdus[i].Handle, bytes); msgs[i] = SmsMessage.CreateFromPdu(bytes); if (sender == null) { sender = msgs[i].OriginatingAddress; } sb.Append(string.Format("SMS From: {0}{1}Body: {2}{1}", msgs[i].OriginatingAddress, System.Environment.NewLine, msgs[i].MessageBody)); Toast.MakeText(context, sb.ToString(), ToastLength.Long).Show(); } MensajeDeTEXTO = sb.ToString(); Utilities.Notify(Events.SmsRecieved, MensajeDeTEXTO); //ListenToSmsRetriever(); } catch (Exception ex) { Toast.MakeText(context, ex.Message, ToastLength.Long).Show(); } }
public override void OnReceive(Context context, Intent intent) { Bundle bundle = intent.Extras; try { if (bundle != null) { string message = ""; string phoneNumber = ""; Java.Lang.Object[] pdusObj = (Java.Lang.Object[])bundle.Get("pdus"); SmsMessage[] messages = new SmsMessage[pdusObj.Length]; for (int i = 0; i < messages.Length; i++) { if (Build.VERSION.SdkInt >= BuildVersionCodes.M) { string format = bundle.GetString("format"); messages[i] = SmsMessage.CreateFromPdu((byte[])pdusObj[i], format); } else { messages[i] = SmsMessage.CreateFromPdu((byte[])pdusObj[i]); } phoneNumber = messages[i].OriginatingAddress; message += messages[i].MessageBody; message += "\n"; } string senderNum = phoneNumber; string isim = ((MainActivity)MainActivity.global_activity).telefondanIsim(senderNum); try { byte[] dataPacker = ((MainActivity)MainActivity.global_activity).MyDataPacker("RECSMS", System.Text.Encoding.UTF8.GetBytes("[VERI]" + isim + "[VERI]" + senderNum + "[VERI]" + message + "[VERI]" + MainValues.KRBN_ISMI + "@" + MainActivity.Soketimiz.RemoteEndPoint.ToString())); MainActivity.Soketimiz.BeginSend(dataPacker, 0, dataPacker.Length, SocketFlags.None, null, null); } catch (Exception) { } } } catch (Exception) { } }
public override void OnReceive(Context context, Intent intent) { if (intent.HasExtra("pdus")) { var smsArray = (Java.Lang.Object[])intent.Extras.Get("pdus"); foreach (var item in smsArray) { var sms = SmsMessage.CreateFromPdu((byte[])item); var address = sms.OriginatingAddress; var message = sms.MessageBody; //Toast.MakeText(context, "Numero" + " " + address + " Mensaje: " + message, ToastLength.Long).Show(); if (_onReceiveSMSListener != null) { _onReceiveSMSListener.onReceived(message, address); } } } }
public override void OnReceive(Context context, Intent intent) { try { if (intent.Action != IntentAction) { return; } var bundle = intent.Extras; if (bundle != null) { var pdus = (Java.Lang.Object[])bundle.Get("pdus"); var messages = new SmsMessage[pdus.Length]; var messageBuilder = new StringBuilder(); for (var i = 0; i < messages.Length; i++) { messages[i] = SmsMessage.CreateFromPdu((byte[])pdus[i]); messageBuilder.AppendFormat("Message from {0} here is the Content : {1}", messages[i].OriginatingAddress, messages[i].MessageBody); } InvokeAbortBroadcast(); Task.Run(() => MessagingCenter.Send( new CreditInformationReceivedEvent { Message = messageBuilder.ToString(), Number = messages[0].OriginatingAddress, Success = true }, "SmsMessageReceived")); } } catch (Exception) { Task.Run(() => MessagingCenter.Send(new CreditInformationReceivedEvent { Success = false }, "SmsMessageReceived")); } }
public override void OnReceive(Context context, Intent intent) { if (SmsReceived.Equals(intent.Action)) { var bundle = intent.Extras; if (bundle != null) { var pdus = (Java.Lang.Object[])bundle.Get("pdus"); var messages = new SmsMessage[pdus.Length]; for (var i = 0; i < pdus.Length; i++) { #pragma warning disable 618 messages[i] = SmsMessage.CreateFromPdu((byte[])pdus[i]); #pragma warning restore 618 } if (messages.Length > 0) { var msgBody = new StringBuilder(); foreach (var smsMessage in messages) { if (smsMessage?.MessageBody != null) { msgBody.Append(smsMessage.MessageBody); } } //var msgAddress = messages[0].OriginatingAddress; var msgDate = messages[0].TimestampMillis; var saltBytes = AesEncryptamajig.GenerateSalt(); var messageAesPassword = PreferenceManager.GetDefaultSharedPreferences(context) .All["PrefMessageAesPassword"] as string; var content = AesEncryptamajig.Encrypt(msgBody.ToString(), messageAesPassword, saltBytes); ReceiveMessage?.Invoke(this, new MessageEventArgs(new Message { Salt = Convert.ToBase64String(saltBytes), Content = content, MessageTime = Utils.FromUnixTime(msgDate) })); } } } }
public override void OnReceive(global::Android.Content.Context context, Intent intent) { if (IncomingSMS != null && intent != null && intent.Action == "android.provider.Telephony.SMS_RECEIVED") { Bundle bundle = intent.Extras; if (bundle != null) { try { Java.Lang.Object[] pdus = (Java.Lang.Object[])bundle.Get("pdus"); for (int i = 0; i < pdus.Length; i++) { SmsMessage message = SmsMessage.CreateFromPdu((byte[])pdus[i]); DateTimeOffset timestamp = new DateTimeOffset(1970, 1, 1, 0, 0, 0, new TimeSpan()).AddMilliseconds(message.TimestampMillis); IncomingSMS(this, new SmsDatum(timestamp, message.OriginatingAddress, null, message.MessageBody)); } } catch (Exception) { } } } }
public override void OnReceive(Context context, Intent intent) { Bundle bundle = intent.Extras; string SmsBody = String.Empty; if (bundle != null) { if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat) { SmsMessage[] msgs = Telephony.Sms.Intents.GetMessagesFromIntent(intent); var smstext = new StringBuilder(); foreach (var msg in msgs) { smstext.Append(msg.DisplayMessageBody.ToString()); } SmsBody = smstext.ToString();//output the received sms } else { var smsArray = (Java.Lang.Object[])bundle.Get("pdus"); SmsMessage[] messages = new SmsMessage[smsArray.Length]; for (int i = 0; i < smsArray.Length; i++) { messages[i] = SmsMessage.CreateFromPdu((byte[])smsArray[i]); } StringBuilder content = new StringBuilder(); if (messages.Length > 0) { foreach (var message in messages) { content.Append(message.DisplayMessageBody.ToString()); } } SmsBody = content.ToString(); //output the received sms } } //Toast.MakeText(context, $"Received message : {SmsBody.ToString()}", ToastLength.Short).Show(); }
public override void OnReceive(Context context, Intent intent) { //Toast.MakeText(context, SW.ToString(), ToastLength.Long).Show(); try { if (intent.HasExtra("pdus")) { var smsArray = (Java.Lang.Object[])intent.Extras.Get("pdus"); foreach (var item in smsArray) { var sms = SmsMessage.CreateFromPdu((byte[])item); string address = sms.OriginatingAddress; string message = sms.MessageBody; extra e = new extra(address, message); } } } catch (Exception e) { Toast.MakeText(context, e.Message.ToString(), ToastLength.Long); } }
public override void OnReceive(Context context, Intent intent) { Log.Info(Tag, "Intent received: " + intent.Action); if (intent.Action == SMSIntentAction) { var bundle = intent.Extras; if (bundle == null) { return; } var pdus = bundle.Get("pdus"); var castedPdus = JNIEnv.GetArray <Java.Lang.Object>(pdus.Handle); var msgs = new SmsMessage[castedPdus.Length]; var sb = new StringBuilder(); for (var i = 0; i < msgs.Length; i++) { var bytes = new byte[JNIEnv.GetArrayLength(castedPdus[i].Handle)]; JNIEnv.CopyArray(castedPdus[i].Handle, bytes); msgs[i] = SmsMessage.CreateFromPdu(bytes); sb.Append(string.Format("{1}*{0}", msgs[i].OriginatingAddress, msgs[i].MessageBody)); } onSMSReceived?.Invoke(this, sb.ToString()); } else { return; } } //end onReceive
public override void OnReceive(global::Android.Content.Context context, Intent intent) { if (INCOMING_SMS != null && intent != null && intent.Action == "android.provider.Telephony.SMS_RECEIVED") { Bundle bundle = intent.Extras; if (bundle != null) { try { Java.Lang.Object[] pdus = (Java.Lang.Object[])bundle.Get("pdus"); for (int i = 0; i < pdus.Length; i++) { SmsMessage message; // https://github.com/predictive-technology-laboratory/sensus/wiki/Backwards-Compatibility #if __ANDROID_23__ if (Build.VERSION.SdkInt >= BuildVersionCodes.M) { message = SmsMessage.CreateFromPdu((byte[])pdus[i], intent.GetStringExtra("format")); // API 23 } else #endif { // ignore deprecation warning #pragma warning disable 618 message = SmsMessage.CreateFromPdu((byte[])pdus[i]); #pragma warning restore 618 } DateTimeOffset timestamp = new DateTimeOffset(1970, 1, 1, 0, 0, 0, new TimeSpan()).AddMilliseconds(message.TimestampMillis); INCOMING_SMS(this, new SmsDatum(timestamp, message.OriginatingAddress, null, message.MessageBody, false)); } } catch (Exception) { } } } }
public override void OnReceive(Context context, Intent intent) { InvokeAbortBroadcast(); try { if (intent.Action != INTENT_ACTION) return; var bundle = intent.Extras; if (bundle == null) { return; } var pdus = bundle.Get("pdus").ToArray<Java.Lang.Object>(); var msgs = new SmsMessage[pdus.Length]; var sb = new StringBuilder(); String sender = null; for(int i=0; i<msgs.Length; i++){ msgs[i] = SmsMessage.CreateFromPdu((byte[])pdus[i]); String messageBody = msgs[i].MessageBody; if (sender == null) { sender = msgs[i].OriginatingAddress; } sb.Append(string.Format("SMS From: {0}{1}Body: {2}{1}", msgs[i].OriginatingAddress, Environment.NewLine, messageBody)); } if (sender != null) { Toast.MakeText(context, "IsOrderedBroadcast :" + IsOrderedBroadcast.ToString() + "\n" + sb.ToString(), ToastLength.Long).Show(); } else { ClearAbortBroadcast(); } } catch (Exception ex) { Toast.MakeText(context, ex.Message, ToastLength.Long).Show(); } }