Android 调用Android功能实现虚拟打电话程序

 

今天课程记得结尾老师使用现在刚刚接触的 Android 写了一款打电话的小程序。

首先建立名字为 Phone的项目,

res/layout/ values/String.xml中的代码:

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="app_name">Phone</string>

    <string name="input_info" >需要拨打的电话号码: </string>

    <string name="dial_caption">拨打</string>

</resources>

 接着就是在 layout/main.xml中的代码:

 <TextView       

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/input_info" />

    <EditText

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:id="@+id/phone_number"/>

    <Button        //拨打按钮

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="@string/dial_caption"

        android:id="@+id/dial_btn"/>

在R.java下的代码:

public final class R {

    public static final class attr {

    }

    public static final class drawable {

        public static final int ic_launcher=0x7f020000;

    }

    public static final class id {

        public static final int dial_btn=0x7f050001;

        public static final int phone_number=0x7f050000;

    }

    public static final class layout {

        public static final int main=0x7f030000;

    }

    public static final class string {

        public static final int app_name=0x7f040000;

        public static final int dial_caption=0x7f040002;

        public static final int input_info=0x7f040001;

    }

}

在PhoneActivity.java下的代码:

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 PhoneActivity extends Activity {

 

 EditText numberEt;

 Button dialBtn;

  

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

       

        findViews();

        dialBtn.setOnClickListener(new OnClickListener(){

      public void onClick(View v) {

      //调用系统的拨号服务实现电话拨打功能

    String phone_number = numberEt.getText().toString();

    phone_number = phone_number.trim();

    if(phone_number != null && !phone_number.equals("")){

       //封装一个拨打电话的intent,并且将电话号码包装成一个Uri对象传入

     Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phone_number));

     PhoneActivity.this.startActivity(intent);

    }   

   }     

        });

    }

   

    public void findViews(){

     numberEt = (EditText) this.findViewById(R.id.phone_number);

     dialBtn = (Button) this.findViewById(R.id.dial_btn);

     

    }

   

}

在AndroidManifest.xml中<application上方添加 :电话服务的权限 android.permission.CALL_PHONE

<uses-sdk android:minSdkVersion="10" />

<uses-permission android:name="android.permission.CALL_PHONE"/>

这样就实现了打电话的功能了。 要打开两个手机模拟器实现 相互通话。

下面是两个电话互相通电话的界面:

 

你可能感兴趣的:(android,String,layout,application,Class,电话)