前言:一个按钮是将号码传递过去等待拨号,另一个是打开拨号器。
先获取权限:
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> //获得权限
主要实现的代码:
public class MainActivity extends ActionBarActivity {
private EditText editText1=null;//声明
private Button button1=null;//声明
private Button button2=null;//声明
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText1 = (EditText) this.findViewById(R.id.editText1);//获取EditText
button1= (Button) this.findViewById(R.id.button1);//获取Button
button2= (Button) this.findViewById(R.id.button2);
button1.setOnClickListener(new View.OnClickListener() {//button1的点击事件
@Override
public void onClick(View v) {
call();//call方法 调用启动一个拨号器
}
});
button2.setOnClickListener(new View.OnClickListener() {//button2的点击事件
@Override
public void onClick(View v) {
dial();//dial方法 调用直接拨号方法
}
});
}
方法内容:
private void dial() {
String data="tel:"+editText1.getText();//电话号码参数字符串
Uri uri=Uri.parse(data);//将字符串转化为Uri实例
Intent intent =new Intent();//实例化Intent
intent.setAction(Intent.ACTION_DIAL);//设置Intent的Action属性
intent.setData(uri);//设置Intent的data属性
startActivity(intent);//启动Activity
}
private void call() {
String data="tel:"+editText1.getText();//电话号码参数字符串
Uri uri=Uri.parse(data);//将字符串转化为Uri实例
Intent intent =new Intent();//实例化Intent
intent.setAction(Intent.ACTION_DIAL);//设置Intent的Action属性
intent.setData(uri);//设置Intent的data属性
startActivity(intent);//启动Activity
}