Android开发之电话拨号器实例详解
本文实例分析了android开发之电话拨号器的用法。分享给大家供大家参考,具体如下:
1、新建一个名为javacallphone的安卓项目,并在cn.csdn.hr.activity包下建一个callphoneactivity.java类
2.打开res下的layout下的main.xml进行布局,设置布局方式为水平布局,再从左侧分别拖入textview,text files下的phone,和button按钮,通过new string后效果如下:
3.打开callphoneactivity.java进行编写,具体代码如下:
package cn.csdn.hr.activity; import android.app.activity; import android.content.intent; import android.net.uri; import android.os.bundle; import android.text.editable; import android.view.view; import android.widget.button; import android.widget.edittext; public class callphoneactivity extends activity { /** called when the activity is first created. */ @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); //设置显示的视图界面 setcontentview(r.layout.main); //获取该布局文件中相应的组件 button callbtn = (button) findviewbyid(r.id.callbtn); //为按钮注册点击事件 callbtn.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { // 拨号 //获取输入框 可编辑对象 edittext edittext = (edittext) findviewbyid(r.id.editcallphone); //获取输入的电话号码 editable editable = edittext.gettext(); //转换成字符串:editable.tostring(); //意图 intent intent = new intent(intent.action_call,uri.parse("tel:"+editable.tostring())); //执行 startactivity(intent); } }); } }
4.打开项目清单文件andriod manifest.xml,选择permissions,添加用户打电话权限,如下图:
5、在源代码中出现:
6、最后run as 安卓应用,实现拨号功能
补充:android电话拨号器开发笔记
androidactivity:
package itcast.com; 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 androidactivity extends activity { private edittext editex; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); // 得到按钮 button button = (button) this.findviewbyid(r.id.bt_number); editex = (edittext) this.findviewbyid(r.id.et_number); // 设置button监听器 // 方式二:通过匿名内部类 // // button.setonclicklistener(new onclicklistener() { // // @override // public void onclick(view v) { // // todo auto-generated method stub // string number = editex.gettext().tostring(); // 获取电话号码 // intent intent = new intent(); // 创建意图 // intent.setaction(intent.action_call); // 设置打电话的意图 // intent.setdata(uri.parse("telphone" + number)); // 拨打的具体号码 // startactivity(intent);// 激活意图 // } // }); // button.setonclicklistener(this); // 当前的实现这是androidactivity } public void btlisten(view v) { string number = editex.gettext().tostring(); intent intent = new intent(); intent.setaction(intent.action_call); intent.setdata(uri.parse(number)); startactivity(intent); } // // 方式三 实现了,onclicklistener // @override // public void onclick(view v) { // // todo auto-generated method stub // switch (v.getid()) { // case r.id.bt_number: // // 相应的按钮时间 // string number = editex.gettext().tostring(); // intent intent = new intent(); // intent.setaction(intent.action_call); // intent.setdata(uri.parse(number)); // startactivity(intent); // break; // } // } // 方式一 // class myonclicklistener implements onclicklistener { // // @override // public void onclick(view v) { // // todo auto-generated method stub // // 获取文本域 // edittext editext = (edittext) androidactivity.this // .findviewbyid(r.id.et_number); // // 得到电话号码 // string number = editext.gettext().tostring(); // intent intent = new intent(); // 创建意图.代表要执行的动作 // intent.setaction(intent.action_call); // 拨打电话的意图 // intent.setdata(uri.parse(number));// 拨打的号码 例如110 // startactivity(intent);// 激活意图 // } // } }
mian.xml:
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <textview android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/input_number" /> <edittext android:id="@+id/et_number" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/print" android:lines="1" android:numeric="integer" /> <button android:id="@+id/bt_number" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/bt_call" android:onclick="btlisten"/> </linearlayout>
strings.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">hello world, androidactivity!</string> <string name="app_name">androidcall</string> <string name="input_number">请输入电话号码</string> <string name="print">请输入号码</string> <string name="bt_call">拨打电话</string> </resources>
需求:
拨打电话的程序
步骤
1. 配置文件
strings.xml 负责的页面是文字
main.xml 负责页面的布局以及每个空间的id
2.java的代码:
通过id 获取button
监听button(参数view)
3.myoncliocklistenr
处理事件:
得到editext,获取电话号码
创建意图的引用:intent intrnt = new intent();
设置意图对象的动作setaction()
拨打电话号码setdata()
开启意图statachivate(intent)
修改安全异常:androidmainfest.xml中的permissions-->android.permission.call_phone
希望本文所述对大家android程序设计有所帮助。