Cheap Calls Inside Android WebView
Connect a call from your browser in seconds and pay only a low per minute rate. Nothing to install, no number to buy for outbound calls.
What you pay
- Outbound: Pay as you go per minute, no dedicated number to buy.
- Inbound: US/Canada digital number from $2.14 to $5/month.
- No apps: Runs in Chrome, Safari, Edge, Firefox.
Pricing at a glance: Android browser calling
- Outbound calling: Reach any country at cheap per minute rates, with no dedicated number and no app to install.
- Inbound calling: Taking calls in your Android browser needs a unique US or Canada digital number, priced from $2.14 to $5/month.
- WebRTC native: Runs smoothly in Chrome for Android or Android WebViews.
Set Up Low Cost Calling Inside Android WebView
Work through these few steps to run Intercalling inside an Android WebView, then let users dial real phone numbers at pay as you go rates straight from your app's embedded browser.
Secure Origin
Deliver your Intercalling pages over HTTPS. Because getUserMedia only runs in a secure context, the WebView page has to load from https. When local content is unavoidable, serve it through a secure embedded server.
Grant Microphone
Inside your Android app, attach a WebChromeClient and override onPermissionRequest so the origin can capture audio. Be sure to ask for RECORD_AUDIO at runtime through the Android framework as well.
User Gesture
Intercalling starts media capture only after a tap from the user. Make sure your WebView interface fires a user gesture so browsers permit microphone access and autoplay whenever they are needed.
Android WebView Code Snippet
Wire up a WebChromeClient and respond to onPermissionRequest so the WebView hands the page microphone access the moment Intercalling requests it.
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onPermissionRequest(final PermissionRequest request) {
// Check origin, then grant audio capture
request.grant(request.getResources());
}
});
// Also request Manifest.permission.RECORD_AUDIO at runtime.Android Compatibility Notes
WebRTC behavior shifts from one Android version and WebView build to the next. Lean on these notes when you map out testing and fallbacks.
| Android Version | Notes |
|---|---|
| Android 5.0+ (Lollipop) | Modern System WebView with basic WebRTC support |
| Android 7.0+ (Nougat) | Improved media handling and permission flows |
| Android 8.0+ (Oreo) | Stable getUserMedia support in most devices |
| Version | Advice |
|---|---|
| Android 10+ | Best compatibility with latest WebView and audio routing |
| Older than 5.0 | Legacy devices may require external browser or native integration |
Troubleshooting WebView Calling
Frequent snags and fast fixes for embedding Intercalling inside Android WebView.
No Microphone Prompt
Confirm your Android app calls requestPermissions for RECORD_AUDIO before the page loads. Implement onPermissionRequest in WebChromeClient too, and check the origin so you never over grant permissions.
Poor Audio Quality
Check that the device sits on a steady network and the WebView holds audio focus. For the cleanest sound, rely on echo cancellation and the Opus codecs that Intercalling and Twilio turn on.
Will WebRTC run in Android WebView?
Yes, on current devices with an up to date System WebView. Try it on your target hardware and fall back to opening the system browser when a device needs it.
Does anyone have to install something?
No. Intercalling lives entirely in the browser context inside WebView. All your app has to do is grant microphone permissions.
How do I send audio to the speaker?
Call the device AudioManager to switch on the speakerphone when a call begins, or add a control that toggles the loudspeaker.
Embed Low Cost Phone Calling in Your App
Intercalling bridges WebRTC calls from WebView to the PSTN through Twilio, all at transparent per minute pricing. Layer in virtual numbers, Intercalling, and a copilot that supports live calls, while the whole experience stays inside your Android app.
- Browser-based calling inside WebView at cheap per minute rates
- Manage inbound and outbound calls with Intercalling
- Buy and manage virtual numbers around the world
- Real-time call analytics and monitoring
Instant Integration
Drop a web page into WebView, switch on permissions, and start calling right away.
Global Reach
Pick up US/Canada digital numbers and reach users worldwide at low rates.
Secure
Encrypted WebRTC sessions plus secure token exchange to control device access.
Real Phone Numbers
Dial any mobile or landline over the PSTN through Twilio, billed per minute.
Frequently Asked Questions
Can I run Intercalling inside Android WebView?
Yes. Intercalling works in the WebView whenever that WebView supports getUserMedia and the app grants microphone permission through WebChromeClient along with Android runtime permissions.
Which Android versions perform best?
Android 8.0 and newer usually give you the strongest WebRTC compatibility. Try your target devices, and keep opening the system browser as a fallback for older systems.
Do I need a native SDK?
No. The core calling flow happens right in the browser context. Some apps bolt on small native helpers to handle permissions and audio routing for a smoother experience.
Is the user's consent needed for the mic?
Yes. The user has to grant both the Android runtime permission for RECORD_AUDIO and the WebRTC permission from the WebChromeClient request.
Ready for low cost WebView calling?
Open an Intercalling account, embed the web page in your Android WebView, and turn on mic permissions. No native dialer needed, just pay as you go rates.

Call from any browser
No app and no SIM. Place the call from your computer or phone in seconds.

Low rates to 190+ destinations
Clear per minute pricing, shown before you dial. Pay as you go, no monthly fee.

One balance, every device
Start on your laptop, continue on your phone, all at the same low rate.