Sms: ссылка на алфавитные параметры, интерпретируемые как цифры на Samsung Galaxy S7

У меня есть ссылка на моем веб-сайте, чтобы открыть текст с новым сообщением. Следующая ссылка работает на большинстве телефонов Android:

sms:5555555555?body=JOIN

Но на Галактике S7 параметр? body = JOIN интерпретируется как часть самого номера телефона, как если бы буквы были введены на клавиатуре. Таким образом, пример выше, откроет новое сообщение на номер телефона: 555555555526395646 и пустое тело сообщения.

У меня нет s7, поэтому его трудно отлаживать. Любые идеи, что еще я могу попытаться заставить его работать как ожидалось на s7?

Ответ 1

По-разному платформа будет работать по-другому. проверьте раздел проблем на этом link

Для iOS такая же проблема здесь, и для андроида его поддержка частично

Ответ 2

Как предполагает Раджеш, это будет сильно отличаться для разных платформ, а иногда и для разных версий. Это структура, которую вы бы использовали для Android:

<a href="sms:/* Phone Number */?body=/* Body of the message */">Link</a>

И для iOS:

<a href="sms:/* Phone Number */&body=/* Body of the message */">Link</a>

Имейте в виду, что эти форматы могут измениться (в вашем примере формат работает на большинстве Android-устройств, но не на S7, а в других примерах формат отличается для отправки SMS в iOS 7 и iOS 8). Также обратите внимание, что приложение, которое обрабатывает URI SMS, может быть изменено на Android, и производители используют его (что может быть причиной того, что в первую очередь возникла неисправность S7). Так что настройка с исключениями может быть немного взломанной.

В противном случае вы можете использовать существующий пакет, например sms или услугу типа Twilio.

Ответ 3

Хотя я не могу воспроизвести поведение, вот некоторые ссылки из RFC, адресованные sms: и tel: схемы URI.

В разделе раздел 2.2 RFC 5724 - схема URI для GSM Служба коротких сообщений - это формальное определение URI, в котором говорится, что sms-recipient (номер телефона, который вы хотите отправить sms) должен быть равен telephone-subscriber, который определен в RFC 3966.

Хотя ваш URI, похоже, работает правильно на большинстве устройств (quirk? edge-case?), вы должны перепроверять формат с тем, который описан в RFC, чтобы убедиться, что он соответствует стандартам. Или возможно, что это ошибка программного обеспечения/парсера на самом устройстве! (не уверен, хотя...)