前言:一改历史惯例,先附上源码地址个性拨号
避免各位朋友下载后发现这个小程序太垃圾没什么用,接着再附上张图片吧
该程序由上部分的号码展示与下边的拨号盘两部分组成,代码比较简单在源码中也有就不在这里展示了
下面一起看一下拨号和回退键的逻辑实现:
1,拨号
拨号的实现其实就是调用的系统拨号,通过Intent调起系统拨号程序Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:" + telNo));
startActivity(intent);
需要注意的是拨号前需要判断当前手机号是否合法,我们利用正则表达式判断手机号的合法性,代码如下:
private boolean isPhoneNumber(String input){
String regex="1([\\d]{10})|((\\+[0-9]{2,4})?\\(?[0-9]+\\)?-?)?[0-9]{7,8}";
Pattern p = Pattern.compile(regex);
return p.matches(regex, input);
}
2,回退键
在这个程序中我们需要重写回退键,这样方便用户输错号码后的修改,如果当前手机号不为空则删除号码最后一位,否则退出应用,代码:
@Override
public void onBackPressed() {
String telNo=tv_screen.getText().toString().trim();
if(telNo.equals("")){
finish();
}else{
telNo=telNo.substring(0, telNo.length()-1);
tv_screen.setText(telNo);
}
}
PS:拨号盘是基于网上找的一个自定义视图进行修改的,代码也在附件中