Android系统打电话实例

来源:技术人生 责任编辑:栏目编辑 发表时间:2013-07-01 08:31 点击:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
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.EditText;
import android.widget.Toast;

public class myAndroid extends Activity {
 
 
 private Button myButton;
 private EditText myEditText;
 
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        myEditText=(EditText)findViewById(R.id.myEditText);
        myButton=(Button)findViewById(R.id.myButton);
       
        myButton.setOnClickListener(new Button.OnClickListener(){

   public void onClick(View v) {
    // TODO Auto-generated method stub
    try {
     String num=myEditText.getText().toString();
     if(isPhoneNumberValid(num)==true)
     {
      Intent myIntentDial=new Intent("android.intent.action.CALL",Uri.parse("tel:"+num));
      startActivity(myIntentDial);
      myEditText.setText("");
     }else
     {
      myEditText.setText("");
      Toast.makeText(myAndroid.this,"输入的电话格式不对",Toast.LENGTH_SHORT).show();
     }
    } catch (Exception e) {
     // TODO: handle exception
    }
   }

   private boolean isPhoneNumberValid(String phoneNumber) {
    // TODO Auto-generated method stub
    
    boolean idValid=false;
    /* 可接受的电话格式有: * ^\\(? :
    * 可以使用 "(" 作为开头 * (\\d{3}): 紧接着三个数字 * \\)? :
    * 可以使用")"接续 * [- ]? : 在上述格式后可以使用具选择性的 "-". * (\\d{3}) :
    *  再紧接着三个数字 * [- ]? : 可以使用具选择性的 "-" 接续. * (\\d{4})$:
    *  以四个数字结束. * 可以比对下列数字格式:
    *   * (123)456-7890, 123-456-7890, 1234567890, (123)-456-7890 */
    String expression = "^\\(?(\\d{3})\\)?[- ]?(\\d{4})[- ]?(\\d{4})$";
    String expression2 ="^\\(?(\\d{2})\\)?[- ]?(\\d{3})[- ]?(\\d{8})$";
    CharSequence inputStr=phoneNumber;
    /*创建Pattern*/
    Pattern pattern=Pattern.compile(expression);
    
    /*将Pattern以参数传入Matcher作Reqular expression*/
    Matcher matcher=pattern.matcher(inputStr);
    
    Pattern pattern2=Pattern.compile(expression2);
    
    Matcher matcher2=pattern2.matcher(inputStr);
    
    if(matcher.matches() || matcher2.matches())
    {
     idValid=true;
 

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Android 完全退出程序
      • 原创:Android应用开发-Andorid歌词秀,含源码
      • android 屏幕保护
      • Android手机软件汉化教程---第四课 dex文件汉化
      • 众多Android 开源项目推荐,给力工作给力学习
      • Android Audio代码分析4
      • Android得到已安装的应用程序信息!
      • Android开发者指南(29) —— USB Host and Accessory
      • Android成长的幕后推手:工程师鲁宾
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1