android开发——手机通话功能实现

来源:互联网 发布:logo自动生成软件 编辑:程序博客网 时间:2024/05/04 14:59

   今天,我写了一个通话应用,这是我的第二个手机应用,通话功能是通过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;    }                      }


0 0