今天,我写了一个通话应用,这是我的第二个手机应用,通话功能是通过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;
}
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。