Android调用拨打电话的两种方式

有项目需要拔打电话,Android拨打电话有两种方式,跳转拨号和直接拨号,现在让我们来了解这两种方式的应用吧

先上两种方式不同的相应代码

一、跳转拨号

由于是跳转页面拨号,所以不需要申请电话权限

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

二、直接拨号

需要在AndroidMenifest文件里加上这个权限:

<uses-permission android:name="android.permission.CALL_PHONE"/>

如图:
在这里插入图片描述

在Android6.0中,还要在代码中动态申请权限。

Intent intent = new Intent(Intent.ACTION_CALL);
Uri data = Uri.parse("tel:" + phoneNum);
intent.setData(data);
startActivity(intent);

三、实际应用:

1.界面如下图:

在这里插入图片描述

2.两种实现方法具体代码如下:

///直接拨打
private void call() {
    //获取文本框的值,并判断是否为空
    String editTextPhoneString = editTextPhone.getText().toString().trim();
    if (TextUtils.isEmpty(editTextPhoneString)) {
        Toast.makeText(this, "号码不能为空", Toast.LENGTH_SHORT).show();
        return;
    } else {
        Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + editTextPhoneString));
        startActivity(intent);
    }
}

///跳转拨打
private void tocall() {
    //获取文本框的值,并判断是否为空
    String editTextPhoneString = editTextPhone.getText().toString().trim();
    if (TextUtils.isEmpty(editTextPhoneString)) {
        Toast.makeText(this, "号码不能为空", Toast.LENGTH_SHORT).show();
        return;
    } else {
        Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + editTextPhoneString));
        startActivity(intent);
    }
}

3.实现的效果如下图,左图为跳转拨号,右边是直接拨号:

![图片3.png][3]

Android实现拨号的两种方式已经整理好了,在手机权限允许项目拨打电话,我们就可以打电话给心中的那个ta了。

如果有什么不对的地方,请在评论区加以评论,一起学习一起进步。

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:sky
https://www.wbfsj.com/archives/222.html

猜你喜欢

转载自blog.csdn.net/weixin_43692371/article/details/109021770