Android 应用拨打客服电话

Android app calling customer service number

在应用程序中实现允许用户拨打客户服务号码的功能的最佳选择是什么?

在iOS,这很容易,只要说UIApplication.shared.open("tel:xxxxxxx")就可以了。它将显示一个小对话框以允许用户拨打或不拨打,并向用户清楚地显示号码,以便用户知道这是一个免费号码。

但是在 Android 中我需要添加 android.permission.CALL_PHONE,但这是一个危险的权限,当用户安装应用程序时他们会看到一条消息 "this app may cost you money"。

在API23+我们可以在运行时请求权限,但是文档说我们还是需要添加用户权限才能在运行时请求。

那么,我们可以拥有的最佳选择是什么?我们不希望用户被无害的功能吓到。

如文档中所述,CALL_PHONE 权限用于从应用程序本身进行调用。可以对用户隐藏它,是的,这很危险。

CALL_PHONE Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call.

但您可以随时使用拨号程序拨打电话,无需任何额外权限。

Intent callIntent=new Intent(Intent.ACTION_DIAL);
callIntent.setData(Uri.parse("tel:xxxxxxx"));
startActivity(callIntent);