URL СМС на Android

Я хотел знать, есть ли у Android функция, аналогичная iPhone, в которой вы можете использовать тег HTML A для отправки SMS, установив HREF укажите номер телефона, на который хотите отправить сообщение, и добавьте к нему префикс "SMS:", т.е. href="SMS:02313213"

Я осмотрелся вокруг и, похоже, не могу найти ничего, что подсказывало бы, что это доступно на Android.

9 ответов

Решение

Я нашел следующее, что может вам помочь:

http://tools.ietf.org/html/rfc5724

Вы можете проверить подразделы 2.5 или 2.6 этого RFC, чтобы дать вам некоторые дополнительные указания по составлению правильного URL-адреса SMS.

Например:... отправить мне SMS
...

Обратите внимание на "экранированный" символ для "пробела" в примере выше.

Надеемся, что браузер Android позволит вам создавать формы XHTML на основе этого синтаксиса. Я верю, что они это сделают (если у меня будет какое-то время на следующий день, я попробую на своей Galaxy S).

href="sms:+xxx" работает на моем штатном браузере HTC Desire Android 2.2 и приложении Sense SMS, но sms:+xxx?body= not - ошибка: недопустимые получатели. Меня действительно только заинтересовало настройка тела - кто-нибудь видел / решил эту проблему?

Моя тестовая страница находится здесь: http://jsbin.com/itama4/15

Это должно работать:

<a href="sms:+437722735932">contact</a>

Если требуется несколько получателей, это работает:

Android:

sms:+15558675309,+15558675301?body=Text%20Here%20end!

iOS, macOS:

sms://open?addresses=+15558675309,+15558675301/&body=Text%20Here%20end!

Я заметил, если вы используете код qrc с текстом для mms:<phone_number>?body=<your message here.> это похоже на работу и позволяет избежать ошибки: недопустимые получатели

вот тест qrc http://qrcode.kaywa.com/img.php?s=8&d=mms%3A555-555-5555%3Fbody%3DYour%20Message

Вы можете использовать трюк CSS для отображения одного или другого: медиа-запрос CSS для таргетинга только на устройства iOS

@supports (-webkit-touch-callout:none) {
  /* CSS specific to iOS devices */ 
  .android { display:none }
  }

@supports not (-webkit-touch-callout:none) {
  /* CSS for other than iOS devices */
  .ios { display:none }
  }

<a class="ios" href="sms://+12345">SMS me</a>
<a class="android" href="sms:+12345">SMS me</a>

Если вы хотите разрешить в Android и IOS, следующий трюк сработал для меня на обоих устройствах.

Без добавления номера:

sms:?&body<Your message goes here>

Если вам нужен URL-адрес, работающий как для Android, так и для iOS, вы можете сделать этот трюк:

sms:+123456789?&body=hello%20there

Для бесплатных номеров в США я обнаружил, что удаление кода страны (+1) заставило тексты работать. У меня нет iPhone, но я на Mac, и у приложения сообщений OSX не было проблем с номером без кода страны:

<a href="sms:8005555555">contact</a>

Другие вопросы по тегам