android按钮事件触发拨号器

本文介绍了一种在Android应用中实现拨号和直接呼叫的方法。通过两个按钮,一个用于打开拨号界面让用户手动拨打,另一个则直接发起呼叫。文中详细展示了如何请求必要的权限,并给出了具体的Java代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:一个按钮是将号码传递过去等待拨号,另一个是打开拨号器。

先获取权限:

<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>  //获得权限

xml
主要实现的代码:

public class MainActivity extends ActionBarActivity {
    private EditText editText1=null;//声明
    private Button button1=null;//声明
    private Button button2=null;//声明
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText1 = (EditText) this.findViewById(R.id.editText1);//获取EditText
        button1= (Button) this.findViewById(R.id.button1);//获取Button
        button2= (Button) this.findViewById(R.id.button2);

        button1.setOnClickListener(new View.OnClickListener() {//button1的点击事件
            @Override
            public void onClick(View v) {
                call();//call方法 调用启动一个拨号器
            }
        });

        button2.setOnClickListener(new View.OnClickListener() {//button2的点击事件
            @Override
            public void onClick(View v) {
                dial();//dial方法 调用直接拨号方法
            }
        });

    }

方法内容:

    private void dial() {
        String data="tel:"+editText1.getText();//电话号码参数字符串
        Uri uri=Uri.parse(data);//将字符串转化为Uri实例
        Intent intent =new Intent();//实例化Intent
        intent.setAction(Intent.ACTION_DIAL);//设置Intent的Action属性
        intent.setData(uri);//设置Intent的data属性
        startActivity(intent);//启动Activity
    }

    private void call() {
        String data="tel:"+editText1.getText();//电话号码参数字符串
        Uri uri=Uri.parse(data);//将字符串转化为Uri实例
        Intent intent =new Intent();//实例化Intent
        intent.setAction(Intent.ACTION_DIAL);//设置Intent的Action属性
        intent.setData(uri);//设置Intent的data属性
        startActivity(intent);//启动Activity
    }

call

dial

个人博客:http://blog.youkuaiyun.com/qq_26849491

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值