一、实现思路:
1、实现界面,界面上有EditText 控件, Button 控件
2、资源文件 values 下创建strings.xml 文件并定义使用到的string
3、values 下创建colors.xml 并定义使用的颜色相关信息
4、继承Activity 类实现oncreate() 方法
5、在activity中获取获取点的话好
6、为这个button 控件添加监听
7、创建Intent 对象并为这个对象设置活动和数据
8、开始活动
二、使用到的主要类:
1、Intent intent = new Intent(); //信息传递的媒介
三、设置Intent 的活动以及数据:
1、intent.setAction(Intent.ACTION_CALL); //Intent.ACTION_CALL android系统中的常量活动为拨号
2、intent.setData(Uri.parse("tel:"+获取的电话号));
3、this.startActivity(intent);
***intent 由以下几个部分组成:动作 action 数据 data 分类 Category 类型 type 组件component 以及扩展信息 Extra .通过这些可以启动其他组将并且携带信息。
三、实现代码:
1、layout/main.xml:
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
>
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:layout_marginTop="18px"
/>
android:id="@+id/editText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
android:id="@+id/button"
android:layout_width="250px"
android:layout_height="wrap_content"
android:text="拨打"
android:textColor="@color/text_color"
android:background="@color/back_color"
android:layout_marginTop="25px"
/>
2、用到的strings:
call
电话拨号器
select
3、colors:
#00CC00
#0000ff
4、Activity:
package com.inspur.call;
import android.support.v7.app.ActionBarActivity;
import android.text.Editable;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends ActionBarActivity {
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 放在这里比放在方法中的效果比较好
editText = (EditText)findViewById(R.id.editText);
Button button=(Button)findViewById(R.id.button);
// 获取电话号,这里进行了类型转化
//意图创建
//添加 按钮触发事件
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
// 拨号是调用系统的拨号实现拨号功能
String number= editText.getText().toString().trim();
//系统会自动生成android.intent.category.DEFAULT
Intent intent= new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number));
MainActivity.this.startActivity(intent);
};
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
四、 清单文件中权限设置: