【Android基础】电话拨号器
2016-04-09 15:48
645 查看
1,到清单文件配置权限: android.permission.CALL_PHONE
2,配置布局文件EditText节点接收输入的电话号码
3,MainActivity中的核心代码:
因为是怕以后忘记了,所以在下面展示比较详细的代码 。
src/cn/yzx/call/MainActivity.java代码如下:
res/layout/activity_main.xml代码如下:
最后,不要忘了在清单文件里添加权限:
下面展示一下效果:
2,配置布局文件EditText节点接收输入的电话号码
3,MainActivity中的核心代码:
EditText et = (EditText)findViewById(R.id.et_num); String num = et.getText().toString().trim(); //创建拨打电话的意图 Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:" + num)); //启动意图 startActivity(intent);
因为是怕以后忘记了,所以在下面展示比较详细的代码 。
src/cn/yzx/call/MainActivity.java代码如下:
package cn.yzx.call; 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 implements OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 填充我要的布局 setContentView(R.layout.activity_main); // 获取拨号键按钮 Button btn_call = (Button) findViewById(R.id.call); // 注册点击事件 btn_call.setOnClickListener(this); } public void call() { // 获取EditText EditText et_number = (EditText) findViewById(R.id.et_numbler); // 获取et_number里的内容 String number = et_number.getText().toString().trim(); // Intent : 意图 // Action : 动作 // DATA : 数据 // 获取intent对象 Intent intent = new Intent(); // 添加意图的动作 intent.setAction(Intent.ACTION_CALL); // 添加意图的数据 // url: 统一资源标识符 uri: 统一资源定位符 intent.setData(Uri.parse("tel:" + number)); //实现这个意图 startActivity(intent); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.call: call(); break; default: break; } } }
res/layout/activity_main.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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="cn.yzx.call.MainActivity" > <TextView android:id="@+id/inform" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="@string/inform" /> <EditText android:id="@+id/et_numbler" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/inform"> <requestFocus /> </EditText> <Button android:id="@+id/call" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@id/et_numbler" android:text="@string/call" /> </RelativeLayout>
最后,不要忘了在清单文件里添加权限:
<uses-permission android:name="android.permission.CALL_PHONE"/>
下面展示一下效果:
相关文章推荐
- android启动--深入理解init进程
- android启动--深入理解zygote (II)
- android启动--深入理解zygote
- Android-- bionic介绍
- busybox应用于android系统
- Android中的dispatchTouchEvent()、onInterceptTouchEvent()、onTouchEvent()和setOnTouchListener()
- android -- 进程内存,CPU及内核打印输出
- Android 属性系统设计分析
- Android 属性系统 Property service 设定分析
- 源码分析-Android中的消息机制详解
- android2.3 --- Service Manager分析
- Android右滑销毁Activity
- Android 播放音频文件
- Android Studio for Mac Install PlantUML plugin
- Android - 动态库双向依赖解决方法
- Android---NDK编译静态库失败
- Android学习--后台线程之Looper、Handler、HandlerThread
- Android -- Parcelable 序列化操作数据(上篇)
- Android2.3 MediaPlayer系统祥解系列(概述)
- Android学习基本索引(四)——记录,没事自己看