11

我想使用 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);
4

3 回答 3

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);
于 2012-10-25T20:00:54.633 回答
7

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

但是,来自ACTION_CALL的引用:

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

于 2011-03-14T13:45:37.083 回答
0

说这将拨打电话号码而不在拨号盘上显示Intent.ACTION_CALLIntent.ACTION_DIAL

于 2011-03-14T12:03:52.087 回答