gsm
2015-12-05 12:30:43 1 举报
全球移动通信系统(GSM)是一种广泛应用于全球的数字移动电话标准。它基于时分多址(TDMA)技术,使得多个用户可以在同一时间通过不同的时隙进行通信,而不会相互干扰。GSM网络提供了语音通话和数据服务,包括短信和GPRS数据连接。GSM的主要优势是其广泛的覆盖范围和互操作性,用户在全球范围内都可以使用同一手机进行通信。此外,GSM还采用了加密技术,保证了通信的安全性。尽管随着3G、4G和5G等新一代移动通信技术的发展,GSM的地位已经有所下降,但它仍然是全球最主要的移动通信标准之一。
作者其他创作
大纲/内容
include
sendText
SmsMessage
GsmAlphabet
encoding = ENCODING_7BIT;
byte[] data; data = rr.mp.marshall(); rr.mp.recycle(); rr.mp = null; if (data.length RIL_MAX_COMMAND_BYTES) { throw new RuntimeException( \"Parcel larger than max bytes allowed! \" + data.length);}// parcel length in big endiandataLength[0] = dataLength[1] = 0; dataLength[2] = (byte)((data.length 8) & 0xff); dataLength[3] = (byte)((data.length) & 0xff);s.getOutputStream().write(dataLength);//将数据发送到RIL中//s.getOutputStream().write(data);
write()
byte smsc[] = (byte[]) map.get(\"smsc\"); // is nullbyte pdu[] = (byte[]) map.get(\"pdu\
int byteCount = ((data.lenght * 7) + 7) / 8; byte[] ret = new byte[byteCount + 1]; // Include space for one byte length prefix.//7bit fill ret[1]ret[0] = (byte) (septetCount); // Validated by check above.return ret;
call
其中这个就是传递数据的本地实现,其中的fileDescriptor是打开的rild描述符句柄,主要是用于通信的,
GsmSMSDispatcher
GSMSMSDispatcher
byte mtiByte = (byte)(0x01 | (header != null ? 0x40 : 0x00));//MTI
sendSms(SmsTracker tracker)
pdu.encodedScAddress = null;pdu.encodedMessage = byte[];
使用sendmsg将数据发送到rild进程,至此短信的发送过程已经完成。
pdu = SmsMessage.getSubmitPdu()
send(rr);
ret.encodedScAddress = null;ret.encodedMessage = byte[];
0 条评论
下一页