有项目需要拔打电话,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.实现的效果如下图,左图为跳转拨号,右边是直接拨号:
Android实现拨号的两种方式已经整理好了,在手机权限允许项目拨打电话,我们就可以打电话给心中的那个ta了。
如果有什么不对的地方,请在评论区加以评论,一起学习一起进步。
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:sky
https://www.wbfsj.com/archives/222.html