编写手机发短信问题【100】
发送代码:
1:
try
{
STTNGS3A_SLib.PhoneInfo_Suite3 PhoneStatus = new STTNGS3A_SLib.PhoneInfo_Suite3();
STTNGS3A_SLib.DevNotifyOpt devStatus;
PhoneStatus.get_DeviceStatus(out devStatus);//判断手机是否连接到PC上
if (devStatus.ToString() == "ATTACHED")
{
NokiaCLMessaging.ShortMsgAdapter smsObj = new NokiaCLMessaging.ShortMsgAdapterClass();
NokiaCLMessaging.ShortMessageItem smsEntry = new NokiaCLMessaging.ShortMessageItemClass();
smsEntry.Type = NokiaCLMessaging.ShortMessageType.SHORTMESSAGE_TYPE_GSM_SUBMIT;
IGSMSubmit submitObj = (IGSMSubmit)smsEntry.TypeProperties;
//转换编码
UnicodeEncoding Ustring = new UnicodeEncoding();
byte[] input = Ustring.GetBytes(sms_content.Trim());
sms_content = System.Text.Encoding.Unicode.GetString(input);
submitObj.Message = sms_content;
submitObj.DestinationAddress = sms_number.Trim();
submitObj.ServiceCenterAddress = "8613800200500";//短信中心号码
submitObj.DataCodingScheme = 8;//使用Unicode编码
submitObj.ValidityPeriodRelative = 255;
submitObj.ProtocolID = 0;
smsObj.SendSMS(ShortMessageRouteType.SHORTMESSAGE_ROUTE_TYPE_ANY, submitObj);//发送短信
MessageBox.Show("短信发送成功!");
}
else
{
MessageBox.Show("没有找到连接的手机!");
}
}
catch (Exception x)
{
MessageBox.Show("错误:" + x.ToString(),"系统提示:");
}
2:
SMS3ASuiteLib.SMS_SuiteAdapterClass SMSSend = new SMS3ASuiteLib.SMS_SuiteAdapterClass();
try
{
SMS3ASuiteLib.ShortMessage ShortMsg = SMSSend.CreateShortMsg();
ShortMsg.UserDataFormat = SMS3ASuiteLib.USER_DATA_FORMAT.UNICODE_16_BIT;
ShortMsg.UserDataLength = 70;
ShortMsg.UserDataText = "你好";
ShortMsg.OtherEndAddress = 电话号码
//ShortMsg.SCAddress = 短信中心号码;
SMSSend.Send(ShortMsg);
SMSSend.Terminate();
MessageBox.Show("1");
}
catch (Exception ex)
{
SMS3ASuiteLib.NmpAdapterError exx= SMSSend.GetLastError();
MessageBox.Show(exx.ToString());
}
尝试了以上代码均在发送的时候出现没能与手机通信的错误,而使用nokia配套软件就收发自如,请问为什么会这样子,有什么方法解决呢?