安卓打电话功能的实现

来源:互联网 发布:蔡依林努力知乎 编辑:程序博客网 时间:2024/05/26 12:08

首先在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中实现整体布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<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"/>
</LinearLayout>

保存之后,会在R.java中自动生成id方法,在这里,如果保存之后没有自动生成id方法,可以在目录Project》Clean.....生成

PhoneActivity.java中的代码

package cn.class3g.qctivity;


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;




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中设置权限




然后就可以实现打电话功能了