如何在Android中没有任何用户交互的情况下直接从默认电话拨号器拨打紧急电话?

时间:2018-01-17 05:51:28

标签: android android-intent android-dialer android-phone-call

我的应用程序中有一项要求,我需要在紧急情况下直接致电警方而无需任何用户互动。根据Android文档,

  

应用程序可以使用ACTION_DIAL

拨打紧急号码

所以我使用了ACTION_DIAL意图如下:

Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:+91100"));
startActivity(intent);

但是不是直接拨打+91100,而是在某些设备中拨号屏幕会显示预先填充的号码,我们需要点击“呼叫”图标拨打电话,而在其他一些设备中,它要求我选择哪个应用我我想打个电话。我希望直接从默认的电话拨号器进行呼叫,而无需任何用户交互,因为当用户处于紧急情况时,将进行此呼叫。

如果有任何方法可以实现,请告诉我吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

您需要特殊的CALL_PRIVLIDGED权限。但是,此权限是系统级权限,只有在预安装或root用户手机上才能访问。 https://developer.android.com/reference/android/Manifest.permission.html#CALL_PRIVILEGED

答案 1 :(得分:1)

如果用户已向您的应用授予权限android.permission.CALL_PHONE,您可以使用ACTION_CALL直接拨打任何号码,如果用户未授予拨打电话的权限,您可以使用{{1}进行检查和处理as:

ACTION_DIAL