一、实现思路:
1、实现界面,界面上有EditText 控件, Button 控件
2、资源文件 values 下创建strings.xml 文件并定义使用到的string
3、values 下创建colors.xml 并定义使用的颜色相关信息
4、继承Activity 类实现oncreate() 方法
5、在activity中获取获取点的话好
6、为这个button 控件添加监听
7、创建Intent 对象并为这个对象设置活动和数据
8、开始活动
二、使用到的主要类:
1、Intent intent = new Intent(); //信息传递的媒介
三、设置Intent 的活动以及数据:
1、intent.setAction(Intent.ACTION_CALL); //Intent.ACTION_CALL android系统中的常量活动为拨号
2、intent.setData(Uri.parse("tel:"+获取的电话号));
3、this.startActivity(intent);
***intent 由以下几个部分组成:动作 action 数据 data 分类 Category 类型 type 组件component 以及扩展信息 Extra .通过这些可以启动其他组将并且携带信息。
三、实现代码:
1、layout/main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center_horizontal" > <TextView android:id="@+id/textView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello_world" android:layout_marginTop="18px" /> <EditText android:id="@+id/editText" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/button" android:layout_width="250px" android:layout_height="wrap_content" android:text="拨打" android:textColor="@color/text_color" android:background="@color/back_color" android:layout_marginTop="25px" /></LinearLayout>2、用到的strings:
<?xml version="1.0" encoding="utf-8"?>
<resources> <string name="app_name">call</string> <string name="hello_world">电话拨号器</string> <string name="action_settings">select</string></resources>3、colors:
<?xml version="1.0" encoding="utf-8"?><resources><color name="text_color">#00CC00</color> <color name="back_color">#0000ff</color></resources>4、Activity:
package com.inspur.call;
import android.support.v7.app.ActionBarActivity;import android.text.Editable;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends ActionBarActivity { private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 放在这里比放在方法中的效果比较好 editText = (EditText)findViewById(R.id.editText); Button button=(Button)findViewById(R.id.button); // 获取电话号,这里进行了类型转化 //意图创建 //添加 按钮触发事件 button.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view){ // 拨号是调用系统的拨号实现拨号功能 String number= editText.getText().toString().trim(); //系统会自动生成android.intent.category.DEFAULT Intent intent= new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:"+number)); MainActivity.this.startActivity(intent); }; }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}四、 清单文件中权限设置:<uses-permission android:name="android.permission.CALL_PHONE"/>