1.设置UI界面
2.根据UI写业务逻辑在mainActivity里面在OnCreate方法里面写
3.给按钮设置一个点击事件SetOnClicklistener
4.自己定义一个类去实现方法所需要的参数类型
5.给拨打电话加上权限
1.布局代码 activity_main.xml
<LinearLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.tellcall.MainActivity"
/>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请输入拨打的手机号码"
/>
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:phoneNumber="true"
/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
/>
</LinearLayout>
显示界面:
2.业务逻辑与点击事件 mainAcitivity_java
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
importandroid.content.Intent;
import android.os.Bundle;
public class MainActivity extends ActionBarActivity {
private Buttonbt_cll;
private EditTextet_number;
@Override
protected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*
*加载activity_main布局
*/
setContentView(R.layout.activity_main);
/*
*第一步:找到我们关心的控件EditText与Button
* View findeViewById(R.id.editText1);
* View findViewByID(R.id.button1);
*由于Edittext与Button继承了View类,所以可以使用强制转换(父类向子类转换)可以写成一下格式
*/
et_number= (EditText )findViewById(R.id.editText1);
//找到button控件
bt_cll= (Button)findViewById(R.id.button1);
/*
*第二步:给Bottom按钮设置一个点击事件
*/
bt_cll.setOnClickListener(newMyCilkListener());
/*OnClickListener()这是一个接口
*匿名内部类
* public voidonClick(View arg0) {
* }
* });
*/
}
public class MyCilkListener implements OnClickListener{
@Override
publicvoidonClick(View v) {
/*
*获取editText文本的内容
* getText():获取文本中的内容
* java知识回顾:toString作用:
*》》可以更方便的显示属性值,显示内容结果更加快捷
* trim():去掉文本的空格
*/
String number =et_number.getText().toString().trim();
if("".equals(number)){ //判定字符是否是数字类型并且为空
Toast.makeText(MainActivity.this,"输入的电话号码为空",Toast.LENGTH_LONG).show();
return;
}
如图所示:
/*
* 1.创建一个意图对象
*意图:自己想去做一件什么事情
*/
Intent intent =newIntent();
/*
* 2.设置一个动作
* ACTION_CALL:去打电话
*/
intent.setAction(intent.ACTION_CALL);
/*
* 3.设置需要的拨打的电话号码
* URI:统一资源标准符自己定义路径
* URL:统一资源定位符
*/
intent.setData(Uri.parse("tel:"+number));
/*
* 4.开启意图
*/
startActivity(intent);
}
}
}
注意:
3.拨号器权限
当我们点击Button按钮是出现一下情况,我们需要添加权限
权限添加步骤:
b.点击1 b.点击2 c.点击3 d.点击4 e.点击5Ctrl+s 保存,就可以直接模拟拨打电话了
拨打电话110 接通源码包: