И iPhone, и Android поддерживают телефонные звонки одинаковым образом.
Вам необходимо создать URL и «запустить» URL. И iphone, и android не поддерживают какой-либо вид управления вызовами, поэтому вам нужно обойтись URL-адресом, чтобы сделать телефонный звонок. Они оба поддерживают символ «пауза» и тоны dtmf в URL.
iphone не поддерживает некоторые символы, в частности символы «#» и «*». Поскольку символ «#» не поддерживается (по соображениям безопасности), это может затруднить работу с системами УАТС.
На андроиде вы должны «кодировать» символы вручную или используя URLEncoder. Мне не повезло с поддержкой символа «#» в Android, но я видел сообщения о его работе. Вам нужно будет проверить это, чтобы увидеть, работает ли он для вас.
Для iphone вы используете UIApplication openLL: на телефонную ссылку .
, например
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:123456p12345"]];
Для android вы используете INTENT_DIAL или ACTION_CALL .
INTENT_CALL отобразит номеронабиратель телефона с указанным вами номером. Не требует специальной настройки.
, например
Intent dialIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:123456"));
startActivity(dialIntent);
ACTION_CALL требует разрешения CALL_PHONE в файле манифеста.
например,
AndroidManifest.xml:
Intent dialIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:123456%2C12345"));
startActivity(dialIntent);