首先在layout中创建一个布局文件activity_main.xml,activity_main.xml中的内容如下
<LinearLayout 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"
android:orientation="vertical">
<!-- 提示用户输入手机号码 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请输入号码" />
<!-- 手机号码输入框 -->
<EditText
android:id="@+id/et_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<!-- 打电话按钮 -->
<!-- android:id="@+id/bt_call" 设置按钮的资源id为bt_call -->
<Button
android:id="@+id/bt_call"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="拨打"/>
</LinearLayout>
xml文件解释:
LinearLayout:布局方式为线性布局
android:layout_width="match_parent":宽度为父节点的宽度
android:layout_height="match_parent":高度为父节点的高度
tools:context=".MainActivity": 设置布局的上下文
android:orientation="vertical": 对齐方式为竖直方向对齐
android:id="@+id/bt_call" :设置组件的id
layout的展示效果
然后在 MainActivity.java中添加下面的Java代码
package com.fyt.phonedialer;
//导入的包
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 MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
//调用父类的onCreate()方法
super.onCreate(savedInstanceState);
//加载layout布局文件
setContentView(R.layout.activity_main);
//获取按钮对象
Button bt = (Button)findViewById(R.id.bt_call);
//为按钮设置监听
bt.setOnClickListener(new MyListener());
}
//实现OnClickListener接口
class MyListener implements OnClickListener
{
//实现父类的onClick方法
//按钮被点击时,此方法被调用
@Override
public void onClick(View v)
{
//获得用于输入手机号码的EditBox控件
EditText et = (EditText)findViewById(R.id.et_phone);
//从EditBox控件中获得用户输入的手机号码
String phone = et.getText().toString();
//创建意图对象
Intent intent = new Intent();
//设置拨打电话的动作
intent.setAction(Intent.ACTION_CALL);
//设置电话打给谁
intent.setData(Uri.parse("tel:" + phone));
//把我要打电话的这个动作告诉系统
startActivity(intent);
}
}
}
在AndroidManifest.xml中添加下面的代码实现添加打电话权限
<uses-permission android:name="android.permission.CALL_PHONE"/>
执行效果:
后就可以拨打电