Android 通过ACTION_CALL 动作拨打电话

来源:互联网 发布:竞彩足球数据 编辑:程序博客网 时间:2024/05/01 15:12
package com.irdc;import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast;import android.widget.EditText; import java.util.regex.Matcher;import java.util.regex.Pattern;public class Main extends Activity {   private Button mButton1;   private EditText mEditText1;      @Override   public void onCreate(Bundle savedInstanceState)   {     super.onCreate(savedInstanceState);    setContentView(R.layout.main);        mEditText1 = (EditText) findViewById(R.id.myEditText1);    mButton1 = (Button) findViewById(R.id.myButton1);     mButton1.setOnClickListener(new Button.OnClickListener()    {      @Override       public void onClick(View v)       {        try         {           String strInput = mEditText1.getText().toString();          if (isPhoneNumberValid(strInput)==true)          {            Intent myIntentDial = new  Intent("android.intent.action.CALL",Uri.parse("tel:"+strInput));            /*在startActivity()方法中,  带入自定义的Intent对象以运行拨打电话的工作 */            startActivity(myIntentDial);            mEditText1.setText("");          }          else          {            mEditText1.setText("");            Toast.makeText(Main.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;   }}

原创粉丝点击