С# GSMcomm извлекает SMS при срабатывании MessageReceived

Есть ли способ извлечь содержимое вновь полученного сообщения и поместить его в строковую переменную при запуске события MessageReceived?


person Dustin Catap    schedule 21.11.2015    source источник
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
comment
Пытался это реализовать.. При чем здесь CommSetting? Он показывает мне ошибку - person Himura Da Battosuai; 10.12.2018
comment
CommSetting — это класс для настройки подключения к библиотеке gsm comm. перейдите по этой ссылке и загрузите образец проекта ссылка - person aminvincent; 11.12.2018