新建一个Android项目,名称为Phone
首相配置资源文件string.xml
<string name="input_info">请输入你要拨打的号码</string>
<string name="dial_caption">拨打</string>
然后构建他的布局文件
为了是它在虚拟手机上显示的是如上界面,需要在layout文件夹下main.xml中配置
<TextView
<!—指定该界面组件的宽度,因为该属性值为fill_parent,该组件与其父容器具有相同的宽度-->
android:layout_width="fill_parent"
<!—指定该界面组件的高度,因为该属性值为wrap_content,该组件的高度取决于它的内容-->
android:layout_height="wrap_content"
<!—获取该组件,资源引用input_info的值-->
android:text="@string/input_info"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
<!—添加新的标识符-->
android:id="@+id/Phone_number"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/dial_btn"
android:text="@string/dial_caption"
/>
R.java里的内容自动生成。
在PhoneActivity调用组件
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;
public class PhoneActivity extends Activity{
EditText numberEt;
Button dialBtn;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
<!—调用这个方法,把资源文件里对应的组件找到-->
findViews();
<!—为这个Button创建一个事件监听器-->
dialBtn.setOnClickListener(new OnClickListener() {
@Override
publicvoid onClick(View v) {
//调用系统的拨号服务实现电话拨打功能
Stringphone_number = numberEt.getText().toString();
phone_number= phone_number.trim();
if(phone_number!= null && !phone_number.equals("")){
//封装一个拨打电话的intent,并将电话号码包装成一个Uri对象传入
Intentintent = newIntent(Intent.ACTION_CALL,Uri.parse("tel:"+phone_number));
PhoneActivity.this.startActivity(intent);
}
}
});
}
public void findViews(){
numberEt = (EditText)this.findViewById(R.id.Phone_number);
dialBtn = (Button)this.findViewById(R.id.dial_btn);
}
}
然后在AndroidManifest.xml声明打电话的权限
在<manifest/>元素添加<uses-permission/>子元素即可自身声明权限
<uses-permissionandroid:name="android.permission.CALL_PHONE"/>
这样即可调用PhoneActivity.java里内容,实现拨打电话的功能。
运行此项目,在虚拟手机显示结果为,
![](http://hi.csdn.net/attachment/201112/6/0_1323178971JzvO.gif)
给另外一台虚拟机打电话,可通话。
如图所示:
![](http://hi.csdn.net/attachment/201112/6/0_1323179025z539.gif)