拨打电话

拨打电话是手机常用的功能,Android中可以通过Intent启动android.intent.action.CALL,然后设置Uri参数,拨打电话的prefix为“tel”,所以如果要拨打电话1388888Uri的字符串应为“tel:1388888,即:

Intent myIntent=new Intent("android.intent.action.CALL",

Uri.parse("tel: 1388888"));//创建Intent对象

然后通过startActivity()方法启动定义的Intent对象即可。现在新建一个名为Sample14Android项目,在main.xml中添加一个TextView、一个EditText和一个Button,其中EditText用于输入电话号码,Button按钮用于拨号,同时设置EditTextinputType属性为phone,即EditText只能输入电话号码,如下:

android:inputType="phone"

拨打电话

然后在Sample14Activity.java中为按钮添加单击事件,当点击按钮时拨打输入的电话号码。Sample14Activity.java中的代码如下:

publicclass Sample14Activityextends Activity {

/** Called when the activity is first created. */

@Override

publicvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//拨打电话按钮

ButtondialBtn=(Button)findViewById(R.id.button1);

dialBtn.setOnClickListener(new OnClickListener(){

@Override

publicvoid onClick(View v) {

//TODO Auto-generated method stub

EditTextnumText=(EditText)findViewById(R.id.editText1);

StringphoneNum=numText.getText().toString();//获取电话号码

Intent myIntent=new Intent("android.intent.action.CALL",Uri.parse("tel:"+phoneNum));//创建Intent对象

//启动Intent

startActivity(myIntent);

}});

}

}

最后,还需要在AndroidManifest.xmlmanifest节下添加可以拨打电话的用户许可,如下:

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

现在运行程序,由于模拟器不能拨打真真的电话,所以可以通过再启动一个模拟器,由于每个模拟器都有一个实例ID,如5554(在模拟器窗体的标题中有该ID值),这个ID可以看做是每部手机的电话号码,通过拨打这个号码即可模拟拨打电话,其结果如下图所示:

拨打电话

拨打电话