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

时间:2023-12-20 19:56:50

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

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

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

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

XML/HTML代码
  1. <?xml version="1.0" encoding="utf-8"?>
  2.   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.   android:orientation="vertical"
  4.   android:layout_width="fill_parent"
  5.   android:layout_height="fill_parent"
  6.   >
  7.   <TextView
  8.   android:layout_width="fill_parent"
  9.   android:layout_height="wrap_content"
  10.   android:text="Please input the phoneNumer:"
  11.   />
  12.   <EditText
  13.   android:id="@+id/et1"
  14.   android:layout_width="fill_parent"
  15.   android:layout_height="wrap_content"
  16.   android:phoneNumber="true"
  17.   />
  18.   <Button
  19.   android:id="@+id/bt1"
  20.   android:layout_width="wrap_content"
  21.   android:layout_height="wrap_content"
  22.   android:text="Call Phone"
  23.   />
  24.   </LinearLayout>

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

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

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

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