首页 > 代码库 > Android手机拨打电话的开发实例

Android手机拨打电话的开发实例

  一部手机最常用的功能就是打电话和发短信了,在Android开发中我们如何通过程序拨打电话呢?本文就给出一个用Android手机拨打电话的简单的实例。

       下面是开发此实例的具体步骤:

       一、新建一个Android工程,命名为phoneCallDemo。

       二、设计程序的界面,打开main.xml把内容修改如下:

XML/HTML代码
  1.    <?xml version="1.0" encoding="utf-8"?>  
  2.   
  3.   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  4.   
  5.   android:orientation="vertical"  
  6.   
  7.   android:layout_width="fill_parent"  
  8.   
  9.   android:layout_height="fill_parent"  
  10.   
  11.   >  
  12.   
  13.   <TextView  
  14.   
  15.   android:layout_width="fill_parent"  
  16.   
  17.   android:layout_height="wrap_content"  
  18.   
  19.   android:text="Please input the phoneNumer:"  
  20.   
  21.   />  
  22.   
  23.   <EditText  
  24.   
  25.   android:id="@+id/et1"  
  26.   
  27.   android:layout_width="fill_parent"  
  28.   
  29.   android:layout_height="wrap_content"  
  30.   
  31.   android:phoneNumber="true"  
  32.   
  33.   />  
  34.   
  35.   <Button  
  36.   
  37.   android:id="@+id/bt1"  
  38.   
  39.   android:layout_width="wrap_content"  
  40.   
  41.   android:layout_height="wrap_content"  
  42.   
  43.   android:text="Call Phone"  
  44.   
  45.   />  
  46.   
  47.   </LinearLayout>  

       三、增加拨打电话的权限,打开AndroidManifest.xml,修改代码如下:

XML/HTML代码
  1.  <?xml version="1.0" encoding="utf-8"?>  
  2.   
  3.   <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  4.   
  5.   package="com.android.test"  
  6.   
  7.   android:versionCode="1"  
  8.   
  9.   android:versionName="1.0">  
  10.   
  11.   <application android:icon="@drawable/icon" android:label="@string/app_name">  
  12.   
  13.   <activity android:name=".PhoneCallDemo"  
  14.   
  15.   android:label="@string/app_name">  
  16.   
  17.   <intent-filter>  
  18.   
  19.   <action android:name="android.intent.action.MAIN" />  
  20.   
  21.   <category android:name="android.intent.category.LAUNCHER" />  
  22.   
  23.   </intent-filter>  
  24.   
  25.   </activity</application>  
  26.   
  27.   <uses-sdk android:minSdkVersion="3" />     
  28.   
  29.   <uses-permission android:name="android.permission.CALL_PHONE">  
  30.   
  31.   </uses-permission>  
  32.   
  33.   </manifest>  

       四、主程序phoneCallDemo.java代码如下:

Java代码
  1.    package com.android.test;import android.app.Activity;   
  2.   
  3.   import android.content.Intent;   
  4.   
  5.   import android.net.Uri;   
  6.   
  7.   import android.os.Bundle;   
  8.   
  9.   import android.view.View;   
  10.   
  11.   import android.widget.Button;   
  12.   
  13.   import android.widget.EditText;   
  14.   
  15.   import android.widget.Toast;
  16.  
  17.    public class PhoneCallDemo extends Activity {   
  18.   
  19.   private Button bt;   
  20.   
  21.   private EditText et;   
  22.   
  23.   public void onCreate(Bundle savedInstanceState) {   
  24.   
  25.   super.onCreate(savedInstanceState);   
  26.   
  27.   setContentView(R.layout.main);   
  28.   
  29.   //取得资源   
  30.   
  31.   bt = (Button)findViewById(R.id.bt1);   
  32.   
  33.   et = (EditText)findViewById(R.id.et1);   
  34.   
  35.   //增加事件响应   
  36.   
  37.   bt.setOnClickListener(new Button.OnClickListener(){ @Override  
  38.   
  39.   public void onClick(View v) {   
  40.   
  41.   //取得输入的电话号码串   
  42.   
  43.   String inputStr = et.getText().toString();   
  44.   
  45.   //如果输入不为空创建打电话的Intent   
  46.   
  47.   if(inputStr.trim().length()!=0)   
  48.   
  49.   {   
  50.   
  51.   Intent phoneIntent = new Intent("android.intent.action.CALL",   
  52.   
  53.   Uri.parse("tel:" + inputStr));   
  54.   
  55.   //启动   
  56.   
  57.   startActivity(phoneIntent);   
  58.   
  59.   }   
  60.   
  61.   //否则Toast提示一下   
  62.   
  63.   else{   
  64.   
  65.   Toast.makeText(PhoneCallDemo.this, "不能输入为空", Toast.LENGTH_LONG).show();   
  66.   
  67.   }   
  68.   
  69.   }   
  70.   
  71.   });   
  72.   
  73.   }