Android 调用系统电话程序拨打电话 android.intent.action.CALL

如果需要调用系统短信功能发送短信,参考:http://www.pocketdigi.com/20101005/122.html
调用系统电话程序跟调用短信类似,关键在于Intent.


Intent intent=new Intent("android.intent.action.CALL",Uri.parse("tel:"+num));
startActivity(intent);

num即电话号码。
下面是完整的代码:


package com.pocketdigi.call;

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.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

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

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				String num=et.getText().toString();
				Pattern p = Pattern.compile("\d+?");
				Matcher match = p.matcher(num);
				//正则验证输入的是否为数字
				if(match.matches()){
					Intent intent=new Intent("android.intent.action.CALL",Uri.parse("tel:"+num));
					startActivity(intent);
				}else{
					Toast.makeText(Main.this, "号码不对",Toast.LENGTH_LONG).show();
				}
			}
        	
        });
    }
}

注意在AndroidManifest.xml添加拨打电话权限:


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

布局xml就不贴了,一个EditText,一个Button.
完整程序:
抱歉,只有对本站任何文章发表过评论才能阅读隐藏内容。

© 2011, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记