界面效果:
一.在values文件夹下的文件中定义字符串
<resources> <string name="title">请输入号码:</string> <string name="app_name">Call</string> <string name="button">拨出</string> </resources>
二.layout文件夹下地文件中画界面
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/title" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/phoneNumber" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" android:id="@+id/button" />
1.@+ 表示在R文件中增加内部类id,并定义常量phoneNumber和button
三.activity类中,逻辑实现
public class CallActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);//根据main文件画界面
Button button = (Button) this.findViewById(R.id.button);//根据R文件中的常量找到定义的button组件
button.setOnClickListener(new buttonOnClickListener());//添加单击事件
}
//内部类,实现了OnClickListener接口
private class buttonOnClickListener implements OnClickListener{
public void onClick(View arg0) {
EditText phoneNumber = (EditText) findViewById(R.id.phoneNumber);
String phoneNumberStr = phoneNumber.getText().toString();//获得输入的号码
//创建一个意图,去和意图过滤器匹配(匹配项有action,category,data)
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+phoneNumberStr));
//唯独category不用设置,会在startActivity的时候自动设置
startActivity(intent);
}
}
}
四.在AndroidManifest.xml中出示权限
<uses-permission android:name="android.permission.CALL_PHONE"/>