今天,我写了一个通话应用,这是我的第二个手机应用,通话功能是通过intent实现的,intent是一个实现某种意图的类,把通话看成一个意图,通话是动作,联系人号码是数据,传入这两个参数就可以让intent开启。实现通话功能。别忘了加上通话权限,不然会报错的。在Manifest.xml文件中加入<uses-permission android:name="android.permission.CALL_PHONE"/>
public class MainActivity extends Activity {
//让界面上的号码框成为全局变量,便于获取其中的内容
private EditText phoneNumEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获得界面上号码框的引用
phoneNumEditText = (EditText) MainActivity.this.findViewById(R.id.et);
//获得界面上按钮的引用,并添加事件监听
Button button = (Button) this.findViewById(R.id.but_id);
// button.setOnClickListener(new MyButtonClick());
button.setOnClickListener(new OnClickListener() {
//匿名内部类实现方式
@Override
public void onClick(View v) {
//获取文本框的内容
String number = phoneNumEditText.getText().toString();
//拨打电话
//Intent-->代表一个动作(意图)-->动作(拨打电话)和数据(号码)
Intent intent = new Intent();
//设置动作
intent.setAction(Intent.ACTION_CALL);
//设置数据("tel:"不能少,要不会出错)
intent.setData(Uri.parse("tel:"+number));
//把意图激活,完成动作的执行(拨打电话)
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;
}
}
转载于:https://blog.51cto.com/buaaxiongmao/1369544