AndroidManifest中添加打电话权限

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

public class boda extends Activity
{ /*声明Button与EditText对象名称*/private Button mButton1; private EditText mEditText1; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(R.layout.main);/*通过findViewById构造器来构造EditText与Button对象*/mEditText1 = (EditText) findViewById(R.id.myEditText1);mButton1 = (Button) findViewById(R.id.myButton1); /*设置Button对象的OnClickListener来聆听OnClick事件*/mButton1.setOnClickListener(new Button.OnClickListener(){@Override public void onClick(View v) {try { /*取得EditText中用户输入的字符串*/String strInput = mEditText1.getText().toString();if (isPhoneNumberValid(strInput)==true){/*建构一个新的Intent运行action.CALL的常数与通过Uri将字符串带入*/Intent myIntentDial = new  Intent("android.intent.action.CALL",Uri.parse("tel:"+strInput));/*在startActivity()方法中带入自定义的Intent对象以运行拨打电话的工作 */startActivity(myIntentDial);mEditText1.setText("");}else{mEditText1.setText("");Toast.makeText(boda.this, "输入的电话格式不符",Toast.LENGTH_LONG).show();}} catch(Exception e){ e.printStackTrace();}}});}/*检查字符串是否为电话号码的方法,并返回true or false的判断值*/public static boolean isPhoneNumberValid(String phoneNumber){boolean isValid = false;/* 可接受的电话格式有:* ^\\(? : 可以使用 "(" 作为开头* (\\d{3}): 紧接着三个数字* \\)? : 可以使用")"接续* [- ]? : 在上述格式后可以使用具选择性的 "-".* (\\d{4}) : 再紧接着三个数字* [- ]? : 可以使用具选择性的 "-" 接续.* (\\d{4})$: 以四个数字结束.* 可以比较下列数字格式:* (123)456-78900, 123-4560-7890, 12345678900, (123)-4560-7890  */String expression = "^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{5})$";String expression2 ="^\\(?(\\d{3})\\)?[- ]?(\\d{4})[- ]?(\\d{4})$";CharSequence inputStr = phoneNumber;/*创建Pattern*/Pattern pattern = Pattern.compile(expression);/*将Pattern 以参数传入Matcher作Regular expression*/Matcher matcher = pattern.matcher(inputStr);/*创建Pattern2*/Pattern pattern2 =Pattern.compile(expression2);/*将Pattern2 以参数传入Matcher2作Regular expression*/Matcher matcher2= pattern2.matcher(inputStr);if(matcher.matches()||matcher2.matches()){isValid = true;}return isValid; }
}

跳转到拨打电话界面

  myImageButton = (ImageButton) findViewById(R.id.myImageButton);myImageButton.setOnClickListener(new ImageButton.OnClickListener(){@Overridepublic void onClick(View v){/* 调用拨号的画面 */Intent myIntentDial = new Intent("android.intent.action.CALL_BUTTON");startActivity(myIntentDial);}});

转载于:https://www.cnblogs.com/flyingsir/archive/2012/08/31/3983743.html

android 拨打电话 号码判断相关推荐

  1. Java模拟拨打电话程序_java_编写android拨打电话apk应用实例代码,android 实现拨打电话的app,代 - phpStudy...

    编写android拨打电话apk应用实例代码 android 实现拨打电话的app,代码非常简单,功能也很实用,分享给大家. MainActivity.java package com.bblei.c ...

  2. 使用Android拨打电话功能

    1.要使用Android系统中的电话拨号功能,首先必须在AndroidManifest.xml功能清单中加入允许拨打电话的权限: <uses-permission android:name=&q ...

  3. Android拨打电话权限总结

    android在6.0和6.0以上拨打电话的权限声明 /*** 打电话** @param phoneNumber*/protected void startCallPhone(String phone ...

  4. android 拨打电话、 监听来电、监听呼出电话的功能实现

    demo1(通用): 权限 <!-- 监听呼出电话 --> <uses-permission android:name="android.permission.PROCES ...

  5. android 拨打紧急号码,通话时开启免提功能实现

    对应拨打电话只需要调用ACTION_CALL加对应电话号码即可如下: void callPhone(){ Intent intent = new Intent(Intent.ACTION_CALL,U ...

  6. android 拨打电话与发送短信

    通过调用android系统提供的电话与短信功能,可以简单的实现发送短信,拨打电话,但是必须在AndroidManifest.xml里面配置相应权限,定位到 1 <application 2 3 ...

  7. android 拨打电话 发送短信 权限,Android开发实现拨打电话与发送信息的方法分析...

    本文实例讲述了Android开发实现拨打电话与发送信息的方法.分享给大家供大家参考,具体如下: xml布局: android:layout_width="fill_parent" ...

  8. android 蓝牙电话号码,Android拨打电话和蓝牙状态监听

    一.拨打电话 权限管理 思路 通过Intent设置Action为ACTION_DIAL或者 ACTION_CALL,通过intent启动直接拨打电话或者打开拨打电话界面. 示例代码 直接拨打电话 /* ...

  9. Android拨打电话的两种实现方法

    添加拨打电话的权限: <uses-permission android:name="android.permission.CALL_PHONE" /> 第一种方法 /* ...

最新文章

  1. (C++)1041 考试座位号
  2. Modular_exponentiation模幂运算
  3. mysql5.6最好的备份方案_Mysql 5.6迁移至PostgreSQL 9.6的实践小结
  4. .Net Core迁移到MSBuild的多平台编译问题
  5. POJ 1631 nlogn求LIS
  6. Mac OSX 安装nvm(node.js版本管理器)
  7. 最让人头疼的清洗数据过程----选择合适的方式快速命中所需的数据
  8. 个人计算机网刻系统,全自动网刻后修改计算机配置信息(网管轻松方便)
  9. 关于vs2010调用python中Py_Initialize函数报错的原因
  10. Zen Cart对空间或主机的要求
  11. matlab做神经网络的步骤,matlab建立神经网络模型
  12. RK3288关于LVDS信号配置和1080p视频信号的详解
  13. Java中this和super关键字分别是什么意思
  14. Excel-单纯形法(大M法)求解 直接求解与规划求解功能
  15. 面向未来的100项颠覆性创新技术!欧盟重磅报告
  16. flashfxp连接后文件名乱码问题
  17. 解决各个浏览器文件下载中文乱码问题
  18. 2008 go server sql 批处理_Transact-SQL批处理
  19. ESB项目培训样例说明
  20. SVG 入门指南(看完,对SVG结构不在陌生)

热门文章

  1. c# groupbox大小,C# 实现可拖动和调整大小的控件
  2. python中numeric_Python中的Numeric
  3. java并发 并行 串行
  4. SQL语句中exists和in的区别
  5. 002_SpringIOC
  6. matlab fix函数_Matlab课后答案第四章
  7. mysql支持asp.net_关于Mysql + asp.net注射能支持多语句的感慨(2月)
  8. Java字符串格式化
  9. 产品经理——pm具备的五项技能
  10. ubuntu四个屏幕设置_Linux_从9个方面来立体式地美化Ubuntu 桌面,总结了一下桌面美化的设置。 - phpStudy...