一:布局文件先设计拨号器的简单界面,可以先用画图软件构思 界面
二 :Activity中进行获取EditText中的电话号码,然后点击,使用Intent(意图)进行实现打电话的功能
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ mobile));
三:注意必须在AndroidManifset,xml文件进行打电话的权限设置
核心源代码 (包自己去引)
- public class PhoneDuanXINActivity extends Activity {
- private EditText mobileText; //在这里写个成员变量,就可以直接调用
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- mobileText = (EditText)this.findViewById(R.id.mobile); //调用成员变量mobileText 强转给右边
- // 使用匿名类进行加监听
- Button button = (Button)this.findViewById(R.id.button);
- button.setOnClickListener(new View.OnClickListener(){
- public void onClick(View v){
- String mobile = mobileText.getText().toString(); //得到了用户输入的手机号
- Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ mobile )); //意图 Intent(行为, 行为数据) intent类用于描述一个应用将会做什么事 在windos中就有种东西 开始菜单》》运行》》 http://www.baidu.com 它可以直接打开,这是为什么? 是因为浏览器 认出了http:
- startActivity(intent); //这就是内部类访问外部类的实例
- }
- });
- }
- }
strings.xml
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string name="hello">下午好</string>
- <string name="app_name">摩托罗拉手机 拨号器</string>
- <string name="mobile">请输入号码</string>
- <string name="button">拨打</string>
- </resources>
- <?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/mobile"
- />
- <EditText
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:id = "@+id/mobile"
- />
- <Button
- android:layout_width ="wrap_content"
- android:layout_height="wrap_content"
- android:text = "@string/button"
- android:id = "@+id/button"
- />
- <p style="color: rgb(51, 51, 51); font-family: Arial; line-height: 26px; text-align: left; "><span style="font-family: 'Microsoft YaHei'; color: rgb(102, 102, 102); "><span style="font-size:13px;">如图所示这三个控件是垂直摆放的,所以要使用线性布局来搁置显示控件</span></span></p><p style="color: rgb(51, 51, 51); font-family: Arial; line-height: 26px; text-align: left; "><strong><span style="font-family: 'Microsoft YaHei'; color: rgb(102, 102, 102); "><span style="font-size:13px;">效果图:</span></span></strong></p>
- </LinearLayout>