Что представляет собой значение 70 для SMS-статуса Android? - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть некоторый код Android в Kotlin, который получает статус сохраненного SMS-сообщения:

val status = cursor.getInt(cursor.getColumnIndexOrThrow(Telephony.Sms.STATUS))

Позже я сравниваю это значение с различными константами, чтобы увидеть, что означает статус:

print(when (status) {
    Telephony.Sms.STATUS_COMPLETE -> "complete"
    Telephony.Sms.STATUS_FAILED -> "failed"
    Telephony.Sms.STATUS_NONE -> "none"
    Telephony.Sms.STATUS_PENDING -> "pending"
    else -> status.toString()
})

Обычно я получаю строки типа "complete", "none" и "pending".Однако иногда возвращается «70», что означает, что статус не соответствует ни одной из констант , перечисленных здесь .Что значит 70 здесь?

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

В некоторых случаях этот код ошибки возвращается, когда перевозчик определяет, что невозможно направить SMS-сообщение, и сообщение должно быть отброшено при его зацикливании между платформами.

Код ошибки: 70

Адресат постоянно недоступен Телефонный номер адресата (т. Е. «Dst») не активен, и нет указаний на то, когда он снова станет доступным.Обратите внимание, что это общий код ошибки, когда перевозчик не указал причину недоступности пункта назначения.Проверьте номер телефона «dst», чтобы убедиться, что он правильный.Кроме того, попробуйте отправить сообщения на другой номер, чтобы убедиться, что все остальные части вашего приложения работают.

Это другой код ошибки.

    /** TP-Status: no status received. */
    public static final int STATUS_NONE = -1;
    /** TP-Status: complete. */
    public static final int STATUS_COMPLETE = 0;
    /** TP-Status: pending. */
    public static final int STATUS_PENDING = 32;
    /** TP-Status: failed. */
    public static final int STATUS_FAILED = 64;
0 голосов
/ 18 декабря 2018

После поиска исходного кода (в частности, класса SmsMessage, поля status) я обнаружил этот документ .Когда вы перейдете к разделу 9.2.3.15, стр. 68, вы увидите список возможных кодов состояния для SMS.Ваш код (70) означает

1000110 SM Срок действия истек

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...