第一步:在布局xml文件中建立编辑文本和按钮
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<EditText
android:hint="请输入要拨打的电话号码"
android:id="@+id/et_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:ems="10"
android:inputType="phone" >
</EditText>
<Button
android:id="@+id/bt_dail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/et_phone"
android:text="拨打" />
</RelativeLayout>
第二步:在MainActivity(src)java中编辑按钮实现功能
public class MainActivity extends Activity {
/**
* 界面上的文本输入框
*/
private EditText et_phone;
//activity被开启调用的方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载布局
setContentView(R.layout.activity_main);
//寻找关心的控件
et_phone = (EditText) findViewById(R.id.et_phone);
Button bt_dail = (Button) findViewById(R.id.bt_dail);
//1.设置按钮的点击事件
bt_dail.setOnClickListener(new MyButtonListener());
}
private class MyButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
//2.当用户点击按钮的时候 获取里面的电话号码
String phone = et_phone.getText().toString().trim();
if("".equals(phone)){
Toast.makeText(MainActivity.this, "电话号码不能为空", Toast.LENGTH_SHORT).show();
}else{
//拨打电话....调用系统的应用程序让系统帮我们拨打电话.
//汇编语言-->c语言-->c++ -->java(c+++)--->c#(++++)---> 第五代编程语言(自然语言)
//1.创建一个意图对象. 打(action) 贱人(data) 泡(action)红茶(data)
Intent intent = new Intent();
//2.指定意图的动作 拨打的动作
//dail 和 call的区别是什么
intent.setAction(Intent.ACTION_CALL);
//3.指定动作的数据
intent.setData(Uri.parse("tel://"+phone));
//开启一个界面,根据程序员指定的行为
startActivity(intent);
}
}
}
}
第三步:设置打电话的权限(res→AndroidManifest.xml→permissions→add→Uses permission→name→android.permission.CALL_PHONE→ctrl+s。)或(在AndroidManifest.xml中写 <uses-permission android:name="android.permission.CALL_PHONE"/>)