Android电话拨号器

1、主要分为两部分,布局和逻辑代码,首先看布局如下:




2、下面是逻辑代码:

package cn.zxy.phone;


import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import android.app.Activity;
import android.content.Intent;


public class PhoneActivity extends Activity {

	private EditText et_number;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_phone);
		
		//寻找界面里的按钮,给按钮注册一个打电话的监听事件
		//获取按钮对象并强转一下
		Button bt = (Button) findViewById(R.id.bt_call);
		//由于界面初始化之后EditText就初始化好不会再变了,所以不用每次点的时候都去重新生成,将对象定义在方法外面即可;
		et_number=(EditText)findViewById(R.id.et_number);
		//new 我们自己写的监听对象,如果输入号码为空会提示用户号码不能为空
        bt.setOnClickListener(new MyLinstener());
	}
	
	private  class MyLinstener implements OnClickListener{
		//当某个view对象被点击的时候调用的方法
		//因为继承了OnClickListener接口,所以要实现里面的onClick方法,该方法名不要写错了
		public void onClick(View v){
			//获取文本里内容
			String number=et_number.getText().toString().trim();
			//判断如果为空则提示用户
			if("".equals(number)){
				Toast.makeText(getApplicationContext(), R.string.msg, Toast.LENGTH_LONG).show();
				return;
			}
			else{
				//描述一个意图,让系统指定相应的组件来执行操作
				Intent intent=new Intent();//初始化一个意图
				intent.setAction(Intent.ACTION_CALL);//告知我们具体什么意图,打电话意图;
				intent.setData(Uri.parse("tel:"+number));//传入要拨打的电话号码,tel为隐式意图
				startActivity(intent);//启动运行
			}
		}
	}
}

但此时运行的话不会成功,因为还存在一个权限的问题,谷歌工程师在设置安卓系统的时候对上面运行的程序的权限是有限制的,在这里我们要赋予咱们的应用打电话的权限,如何设置见下图:



4、运行效果如下图:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值