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

鉴客 发布于 2011/12/07 08:10
阅读 2K+
收藏 1

首先建立名字为 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"/>

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

加载中
0
Grrrr
Grrrr
很好,很弓虽大. 测试通过,小灵通表示完美运行,毫无压力.
0
返回顶部
顶部