在Android中拨打911

Ami*_*per 11 android dialog phone-call android-intent android-permissions

我想使用Android SDK拨打紧急电话号码.

我正在使用以下代码来拨打号码(911).此代码适用于除911(紧急号码)以外的所有号码.当我使用911时,它会显示我不想要的拨号器屏幕.是否有任何程序在不打开拨号器的情况下拨打911或者我们是否可以阻止用户在拨号器屏幕中编辑号码?

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);
Run Code Online (Sandbox Code Playgroud)

Maa*_*lte 7

Action_Dial会打开拨号盘,Action_Call会直接调用..

但是,来自ACTION_CALL的引用:

注意:此Intent 不能用于呼叫紧急号码.但是,应用程序可以使用ACTION_DIAL 拨打紧急号码.


San*_*yrm 7

提供的代码应该已经可以使用,但您需要CALL_PHONE和CALL_PRIVILEGED权限才能拨打紧急号码而不显示拨号盘.

Android参考 - 清单权限CALL_PRIVILEGED

一旦将其添加到清单中,您应该能够使用ACTION_CALL使用相同的代码来代替直接拨号:

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);
Run Code Online (Sandbox Code Playgroud)