Можно ли позвонить из HTML на Android? - PullRequest
81 голосов
/ 05 мая 2010

Чтобы сделать телефонный звонок с помощью HTML на iPhone, я создаю тег <A/> с href в формате: <a href='tel:123-555-1212'>Dial Me</a>.

Есть ли у Android эквивлант для HTML?

УТОЧНЕНИЕ - использование формата href = 'tele: 123-555-1212' действительно работает на Android. Я тестировал приложение в нативной оболочке Java на устройстве. Не похоже, что мы можем позвонить из веб-приложения, размещенного в Native Wrapper.

Ответы [ 3 ]

124 голосов
/ 05 мая 2010

Да, вы можете; он работает на Android тоже:

тел: номер телефона
Звонит введенным номер телефона. Действительные номера телефонов как определено в IETF RFC 3966, принято. Допустимые примеры включают следующее:

* tel:2125551212
* tel: (212) 555 1212

Браузер Android использует приложение «Телефон» для обработки «телефонной» схемы, определенной в RFC 3966.
Нажав на ссылку, как:

<a href="tel:2125551212">2125551212</a>

на Android откроет приложение Phone и предварительно введет цифры для 2125551212 без автодозвонка.

Посмотрите на RFC3966

22 голосов
/ 05 мая 2010

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

в вашем onCreate вам нужно использовать веб-просмотр и назначить WebViewClient, как показано ниже:

browser = (WebView) findViewById(R.id.webkit);
browser.setWebViewClient(new InternalWebViewClient());

затем обработайте щелчок по номеру телефона следующим образом:

private class InternalWebViewClient extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
         if (url.indexOf("tel:") > -1) {
            startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url)));
            return true;
        } else {
            return false;
        }
    }
}

Дайте мне знать, если вам нужно больше указателей.

20 голосов
/ 05 мая 2010

Как правило, на Android, если вы просто отображаете номер телефона, и пользователь нажимает на него, он поднимает его в номеронабирателе. Таким образом, вы могли бы просто сделать

For more information, call us at <b>416-555-1234</b>

Когда пользователь нажимает на полужирную часть, так как она отформатирована как телефонный номер, появится номеронабиратель, и в поле номера телефона отобразится 4165551234. Пользователь просто должен нажать кнопку вызова.

Вы могли бы сделать

For more information, call us at <a href='tel:416-555-1234'>416-555-1234</a>

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

EDIT: Я только что попробовал это на моем HTC Magic с запущенным Rogers 1.5 с SenseUI:

For more information, call us at <a href='tel:416-555-1234'>416-555-1234</a><br />
<br />
Call at <a href='tel:416-555-1234'>our number</a>
<br />
<br />
<a href='416-555-1234'>Blah</a>
<br />
<br />
For more info, call <b>416-555-1234</b>

Первый, окруженный ссылкой и напечатавший номер телефона, работал отлично. Подкатил звонилку с дефисами и все. Второй, говоря our number со ссылкой, работал точно так же. Это означает, что использование <a href='tel:xxx-xxx-xxxx'> должно работать по всем направлениям, но я бы не советовал брать один мой тест как окончательный.

Прямая ссылка на число сделала ожидаемое: попытался вытащить несуществующий файл с сервера.

Последний сделал, как я упоминал выше, и поднял номеронабиратель, но без хороших дефисов форматирования.

...