Я программирую модем с помощью AT-команд. Когда я выполняю AT+CMGL="ALL"
, иногда он ничего не возвращает. В других случаях он возвращает список сообщений.
Не могли бы вы сказать мне, почему?
Я программирую модем с помощью AT-команд. Когда я выполняю AT+CMGL="ALL"
, иногда он ничего не возвращает. В других случаях он возвращает список сообщений.
Не могли бы вы сказать мне, почему?
Это зависит от того, настроен ли телефон на режим PDU или текстовый режим. Стандарт 27.005 гласит:
<stat> integer type in PDU mode (default 0), or string type in text mode (default
"REC UNREAD"); indicates the status of message in memory; defined values:
0 "REC UNREAD" received unread message (i.e. new message)
1 "REC READ" received read message
2 "STO UNSENT" stored unsent message (only applicable to SMs)
3 "STO SENT" stored sent message (only applicable to SMs)
4 "ALL" all messages (only applicable to +CMGL command)
Так что вы должны бежать
AT+CMGF=1
AT+CMGL="ALL"
(Возможно также AT+CPMS
, чтобы быть уверенным в том, из какого хранилища вы читаете (уведомление, что вы, вероятно, захотите указать как <mem1>
, так и <mem2
))