`
苹果超人
  • 浏览: 196000 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

拨打电话

阅读更多
  拨打电话有两个关键的方面:
  1. 在AndroidManifest.xml中添加uses-permission,<uses-permission android:name="android.permission.CALL_PHONE"/>
  2. 通过自定义的Intent对象,带入"ACTION_CALL"这个ACTION,还要通过Uri.parse()的方法将用户输入的电话号码(Data)带入,最后调用startActivity方法。
package com.kevin.phone;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import android.R.bool;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Canvas.EdgeType;
import android.net.Uri;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Main extends Activity {
	private Button btn_call;
	private EditText number;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        number = (EditText) findViewById(R.id.editText1);
        btn_call = (Button) findViewById(R.id.button1);
        btn_call.setOnClickListener(new Button.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				String phone = number.getText().toString();
				if(isValid(phone)){
					// 构建Intent对象
					Intent callIntent = new Intent(
							"android.intent.action.DIAL", 
							Uri.parse("tel:" + phone));
					startActivity(callIntent);
					number.setText("");
				}else{
					number.setText("");
					Toast.makeText(Main.this, "非法电话号码", Toast.LENGTH_SHORT).show();
				}
			}
		});
    }
    // 检测电话号码输入是否合法
    private boolean isValid(String input){
    	boolean flag = true;
    	String expression = "^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{5})$";
    	String expression2 = "^\\(?(\\d{3})\\)?[- ]?(\\d{4})[- ]?(\\d{4})$";    	
    	// 创建Pattern
    	Pattern pattern = Pattern.compile(expression);
    	// 将Pattern以参数传入Matcher作Regular expression
    	Matcher matcher = pattern.matcher(input);
    	Pattern pattern2 = Pattern.compile(expression2);
    	Matcher matcher2 = pattern2.matcher(input);
    	if(matcher.matches() || matcher2.matches()){
    		flag = true;
    	}else{
    		flag = false;
    	}
    	return flag;
    }
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics