• Android简易实战教程--第三话《自己实现打电话》


    需要一个文本输入框输入号码,需要一个按钮打电话。本质:点击按钮,调用系统打电话功能。

    xml布局文件代码::

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity" 
        android:orientation="vertical"
        >
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="请输入号码" />
        <EditText 
            android:id="@+id/et_phone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            />
        <Button
            android:id="@+id/bt_call" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="拨打"
            />
    
    </LinearLayout>

    mainactivity中代码:


    package com.ydl.dialer;
    
    import android.net.Uri;
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Intent;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            //给按钮设置点击侦听
            //1.拿到按钮对象
            Button bt = (Button) findViewById(R.id.bt_call);//Button类是View的子类,向下转型要强转。
            //2.设置侦听
            bt.setOnClickListener(new MyListener());
        }
    
        class MyListener implements OnClickListener{
    
        	//按钮被点击时,此方法调用
    		@Override
    		public void onClick(View v) {
    			//获取用户输入的号码
    			EditText et = (EditText) findViewById(R.id.et_phone);
    			String phone = et.getText().toString();
    			
    			//我们需要告诉系统,我们的动作:我要打电话
    			//创建意图对象
    			Intent intent = new Intent();
    			//把打电话的动作ACTION_CALL封装至意图对象当中
    			intent.setAction(Intent.ACTION_CALL);
    			//设置打给谁
    			intent.setData(Uri.parse("tel:" + phone));//这个tel:必须要加上,表示我要打电话。否则不会有打电话功能,由于在打电话清单文件里设置了这个“协议”
    			
    			//把动作告诉系统,启动系统打电话功能。
    			startActivity(intent);
    		}
        	
        }
        
    }
    




  • 相关阅读:
    sql
    java常见异常
    call的用法及NodeList与Array的区别
    os模块
    random模块
    time模块
    序列化模块
    模块介绍
    内置函数
    匿名函数-lambda
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299655.html
Copyright © 2020-2023  润新知