android开发——手机通话功能实现
发表于:2024-11-25 作者:热门IT资讯网编辑
编辑最后更新 2024年11月25日,今天,我写了一个通话应用,这是我的第二个手机应用,通话功能是通过intent实现的,intent是一个实现某种意图的类,把通话看成一个意图,通话是动作,联系人号码是数据,传入这两个参数就可以让inte
今天,我写了一个通话应用,这是我的第二个手机应用,通话功能是通过intent实现的,intent是一个实现某种意图的类,把通话看成一个意图,通话是动作,联系人号码是数据,传入这两个参数就可以让intent开启。实现通话功能。别忘了加上通话权限,不然会报错的。在Manifest.xml文件中加入
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; } }