Чи можу я зателефонувати з HTML на Android?


84

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

Чи існує еквівалент для HTML на Android?

ПОЯСНЕННЯ - використання формату href = 'tele: 123-555-1212' дійсно працює на Android. Я тестував додаток у власній обгортці Java на пристрої. Здається, ми не можемо зателефонувати із веб-програми, розміщеної у Native Wrapper.

Відповіді:


128

Так, ти можеш; це працює і на Android :

tel: phone_number
Викликає введений номер телефону. Приймаються дійсні номери телефонів, визначені в IETF RFC 3966. Дійсні приклади включають наступне:

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

Браузер Android використовує додаток Телефон для обробки схеми “tel”, як визначено RFC 3966.
Клацнувши посилання, наприклад:

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

на Android відкриє додаток Телефон і попередньо введе цифри для 2125551212 без автоматичного набору номера.

Погляньте на RFC3966


коли ви натискаєте посилання, iphone автоматично запускає дзвінок (автонабір)? або це як Android? (відкрийте номеронабирач, і вам потрібно натиснути кнопку дзвінка).
Енріке

7
Переконайтесь, що у вас є це: <uses-
dozvoляння

25

Я щойно написав додаток, який може зателефонувати з веб-сторінки - я не знаю, чи це вам корисно, але я все одно включаю:

у вашому 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;
        }
    }
}

Повідомте мене, якщо вам потрібні більше покажчиків.


1
Дякую - так, це хороший підхід! У підсумку я додав доступ до свого додатку з JavaScript з addJavascriptInterface
Кевін

21

Як правило, на 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>

щоб охопити обидва пристрої, але я не впевнений, наскільки це могло б працювати. Я спробую незабаром і повідомлю вас.

РЕДАГУВАТИ: Я щойно спробував на своєму 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'>має працювати повсюдно, але я б не радив приймати свій один тест як остаточний.

Посилання прямо на номер зробило очікуване: спробував витягнути неіснуючий файл із сервера.

Останній зробив, як я вже згадував вище, і підняв номер набору номера, але без приємних дефісів для форматування.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.