0%

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. 完整程序: [download id=”18”]