通过拨打电话案例学习 intent 的使用方法.
由于是小程序,所以采用 UI界面-> Activity->业务层 自上而下的顺序来编写代码.
由于要用到系统功能,要在AndroidMainfest.xml 加入
1.界面设计 res/layout/main.xml
main.xml
xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/textMobileString"/>
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content" android:hint="@string/edtMobileNumString"
android:id="@+id/edtMobileNum"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/btnCall"
android:text="@string/btnCallString"/>
LinearLayout>
2.res/values/strings.xml 加入字符串变量
strings.xml
xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, PhoneCallActivity!string>
<string name="app_name">PhoneCallstring>
<string name="textMobileString">请输入你要拨打的电话号码:string>
<string name="edtMobileNumString">请输入号码...string>
<string name="btnCallString">拨打string>
resources>
3.Activity 的编写
PhoneCallActivity.java
package com.PhoneCall.melody;
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 PhoneCallActivity extends Activity implements OnClickListener {
private EditText editText = null; // 号码编辑控件
private Button btnCall = null; // 拨打按键
private String mobileNum = null; // 号码变量
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main);
/**
* 获取控件
*/
editText = (EditText) this.findViewById(R.id.edtMobileNum);
btnCall = (Button) this.findViewById(R.id.btnCall);
mobileNum = editText.getText().toString(); // 获取号码
btnCall.setOnClickListener(this); // 设置监听事件
}
@Override
public void onClick(View v) {
switch (v.getId()) {
/**
* 实现拨打电话
*/
case R.id.btnCall:
/**
* Intent.ACTION_CALL --通知系统该intent(意图)的动作
* Uri.parse("tel:" +mobileNum ) Uri 为统一资源标识符, tel 通知系统 后面接的为电话号码
*/
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"
+ mobileNum));
PhoneCallActivity.this.startActivity(intent);
break;
default:
break;
}
}
}