打电话是手机的主要功能,我的Android第一个程序就是实现打电话功能。首先在values目录下的strings.xml中写入数据:
<string name="input_info">请输入您要拨打的号码:</string>
<string name="dial_caption">拨打</string>
实现Android的数据传递;
然后在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="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/dial_btn"
android:text="@string/dial_caption"
/>
然后写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;
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中写入
<uses-permission android:name="android.permission.CALL_PHONE"/>
写完之后,在Android虚拟机中测试,测试图如下:
2011年12月6日