拨打电话
拨打电话是手机常用的功能,Android中可以通过Intent启动android.intent.action.CALL,然后设置Uri参数,拨打电话的prefix为“tel”,所以如果要拨打电话1388888,Uri的字符串应为“tel:1388888”,即:
Intent myIntent=new Intent("android.intent.action.CALL",
Uri.parse("tel: 1388888"));//创建Intent对象
然后通过startActivity()方法启动定义的Intent对象即可。现在新建一个名为Sample14的Android项目,在main.xml中添加一个TextView、一个EditText和一个Button,其中EditText用于输入电话号码,Button按钮用于拨号,同时设置EditText的inputType属性为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.xml中manifest节下添加可以拨打电话的用户许可,如下:
<uses-permissionandroid:name="android.permission.CALL_PHONE"/>
现在运行程序,由于模拟器不能拨打真真的电话,所以可以通过再启动一个模拟器,由于每个模拟器都有一个实例ID,如5554(在模拟器窗体的标题中有该ID值),这个ID可以看做是每部手机的电话号码,通过拨打这个号码即可模拟拨打电话,其结果如下图所示: