我正在使用 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() + ")");
}
}
参考已经尝试
答案 0 :(得分:0)
是的,因为我从论坛中读取android并不允许使用gsmcomm从手机内存中读取消息你可以使用Android客户端通过socket将sms从android发送到pc或者你有很多钱可以使用androino我看到一篇关于如何接收和发送短信的文章。
我有一个关于如何从SmsDeliverPdu对象获取发件人和收件人号码的问题,因为我需要发件人和收件人来验证短信或如何获取手机的SIM号码