为什么无法阅读来自" Android设备的消息"使用GSMComm库,C#

时间:2015-05-21 19:17:23

标签: c# android c#-4.0 sms c#-3.0

我正在使用 GSMComm Library 发送和接收消息(桌面应用)... 发送代码完美地工作.. 问题是当收到消息时,我在使用Android设备时无法阅读消息,更换了至少4台三星设备,但是与GSM-3G设备完美配合

错误显示在以下行 带有错误消息的DecodedShortMessage message = messages[indexx];" 索引超出了数组的范围。" /

Android 是否允许在允许发送消息时从手机记忆中读取消息

我尽我所能去尝试,但不能帮助自己......

 private void comm_MessageReceived(object sender, MessageReceivedEventArgs e)
        {
            try
            {
                IMessageIndicationObject obj = e.IndicationObject;
                if (obj is MemoryLocation)
                {   
                    MemoryLocation loc = (MemoryLocation)obj;
                    string storage=loc.Storage;
                    int indexx = loc.Index;
                    DecodedShortMessage[] messages = comm.ReadMessages(PhoneMessageStatus.All, loc.Storage);

           //Error Shows up in next Line ,
           //Exception Message is "Index was outside the bounds of the array."
                    DecodedShortMessage message = messages[indexx];
                    SmsPdu pdu = message.Data;
                    if (pdu is SmsDeliverPdu)
                    {
                        SmsDeliverPdu data = (SmsDeliverPdu)pdu;
                        MessageBox.Show(data.OriginatingAddress.ToString() + data.UserDataText.ToString());
                    }
                    return;
                }

                MessageBox.Show("Error: Unknown notification object!");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message + " (" + ex.GetType().ToString() + ")");
            }
        }

参考已经尝试

  1. Official Site
  2. Code Project Bluck SMS Sender
  3. Send Receive SMS

1 个答案:

答案 0 :(得分:0)

是的,因为我从论坛中读取android并不允许使用gsmcomm从手机内存中读取消息你可以使用Android客户端通过socket将sms从android发送到pc或者你有很多钱可以使用androino我看到一篇关于如何接收和发送短信的文章。

我有一个关于如何从SmsDeliverPdu对象获取发件人和收件人号码的问题,因为我需要发件人和收件人来验证短信或如何获取手机的SIM号码