Есть ли способ извлечь содержимое вновь полученного сообщения и поместить его в строковую переменную при запуске события MessageReceived?
С# GSMcomm извлекает SMS при срабатывании MessageReceived
comment
что вам нужно, чтобы извлечь эти входящие сообщения? хранить его в базе данных или другом? дай мне объяснение
- person aminvincent   schedule 17.02.2016
Ответы (1)
это так просто, просто добавьте такой метод:
private void comm_MessageReceived(object sender, MessageReceivedEventArgs e)
{
var obj = e.IndicationObject;
if (obj is MemoryLocation)
{
var loc = (MemoryLocation)obj;
var msg = string.Format("New message received in storage \"{0}\", index {1}.",
loc.Storage, loc.Index);
MessageBox.Show(msg);
DecodedShortMessage[] messages = CommSetting.comm.ReadMessages(PhoneMessageStatus.All, PhoneStorageType.Sim);
foreach (DecodedShortMessage message in messages)
{
DisplayMessage(message.Data);
}
return;
}
}
private void DisplayMessage(SmsPdu pdu)
{
if (pdu is SmsDeliverPdu)
{
SmsDeliverPdu data = (SmsDeliverPdu)pdu;
var phoneNumber = data.OriginatingAddress;
var msg = data.UserDataText;
var date = string.Format("{0:dd/MM/yyyy}", data.SCTimestamp.ToDateTime());
var time = string.Format("{0:HH:mm:ss}", data.SCTimestamp.ToDateTime());
//read message in listBox1
listBox1.Items.Add(string.Format("{0}, {1}, {2}, {3}", date, time, phoneNumber, msg));
}
}
но не забудьте зарегистрировать это событие, когда соединение открыто:
comm.MessageReceived += new MessageReceivedEventHandler(comm_MessageReceived);
Я надеюсь, что это поможет: D
person
aminvincent
schedule
18.02.2016
Пытался это реализовать.. При чем здесь CommSetting? Он показывает мне ошибку
- person Himura Da Battosuai; 10.12.2018
CommSetting
— это класс для настройки подключения к библиотеке gsm comm. перейдите по этой ссылке и загрузите образец проекта ссылка
- person aminvincent; 11.12.2018