androidandroid-intentdialogandroid-permissionsphone-call

Call 911 in Android


I want to call Emergency number using Android SDK.

I am using following code to call the number (911). This code works fine for all the numbers except 911 (Emergency Number). When I use 911, then it shows the dialer screen that I don't want. Is there any procedure to call 911 without open the dialer or can we stop the user to edit the number in Dialer screen?

Uri callUri = Uri.parse("tel://911");
Intent callIntent = new Intent(Intent.ACTION_DIAL,callUri);
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_NO_USER_ACTION);
startActivity(callIntent);

Solution

  • The code provided should already work for this, but you need the CALL_PHONE and CALL_PRIVILEGED permission to dial emergency numbers without showing the dial-pad.

    Android Reference - Manifest Permission CALL_PRIVILEGED

    Once that is added to the manifest, you should be able to use the same code using the ACTION_CALL instead to direct dial:

    Uri callUri = Uri.parse("tel://911");
    Intent callIntent = new Intent(Intent.ACTION_CALL,callUri);
    callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_NO_USER_ACTION);
    startActivity(callIntent);