क्या मैं एंड्रॉइड पर HTML से फोन कॉल कर सकता हूं?


84

एक iPhone मैं पर HTML के माध्यम से एक फ़ोन कॉल करने के लिए एक बनाने के <A/>लिए एक href के रूप में स्वरूपित के साथ टैग: <a href='tel:123-555-1212'>Dial Me</a>

क्या एंड्रॉइड पर HTML के लिए एक समान है?

क्लैरिएशन - प्रारूप का उपयोग करते हुए href = 'tele: 123-555-1212' वास्तव में एंड्रॉइड पर काम करता है। मैं डिवाइस पर एक देशी जावा आवरण के भीतर ऐप का परीक्षण कर रहा था। ऐसा प्रतीत नहीं होता है जैसे हम किसी नेटिव रैपर में होस्ट किए गए वेब एप्लिकेशन से कॉल कर सकते हैं।

जवाबों:


128

हाँ तुम कर सकते हो; यह Android पर भी काम करता है:

tel: phone_number
दर्ज किए गए फ़ोन नंबर को कॉल करता है। IETF RFC 3966 में परिभाषित मान्य टेलीफोन नंबर स्वीकार किए जाते हैं। मान्य उदाहरणों में निम्नलिखित शामिल हैं:

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

एंड्रॉइड ब्राउज़र "टेली" योजना को संभालने के लिए फोन एप्लिकेशन का उपयोग करता है, जैसा कि RFC 3966 द्वारा परिभाषित किया गया है।
एक लिंक पर क्लिक करना:

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

एंड्रॉइड फोन ऐप को लाएगा और ऑटोडायलिंग के बिना 2125551212 के अंकों को प्री-एंटर करेगा।

RFC3966 पर एक नज़र डालें


जब आप लिंक पर क्लिक करते हैं तो आईफोन कॉल को स्वचालित रूप से (ऑटोडायल) कर देता है? या यह Android की तरह है (डायलर खोलें, और आपको कॉल बटन दबाने की आवश्यकता है)।
एनरिक

7
सुनिश्चित करें कि आपके पास यह है: <उपयोग-अनुमति एंड्रॉइड: नाम = "android.permission.CALL_PHONE" /> अपने मैनिफेस्ट में।
xml

25

मैंने अभी एक ऐप लिखा है जो वेब पेज से कॉल कर सकता है - मुझे नहीं पता कि यह आपके लिए कोई उपयोग है, लेकिन मैं इसमें शामिल हूं:

अपने ऑनक्रिएट में आपको एक वेबव्यू का उपयोग करने और नीचे एक 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
धन्यवाद - हाँ, यह एक अच्छा तरीका है! मैंने अपने ऐप को जावास्क्रिप्ट w / addJavascriptInterface
केविन

21

आम तौर पर एंड्रॉइड पर, यदि आप बस फोन नंबर प्रदर्शित करते हैं, और उपयोगकर्ता उस पर टैप करता है, तो वह इसे डायलर में खींच लेगा। तो, आप बस कर सकते हैं

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 जादू पर एक जड़ें रोजर्स 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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.