`
苹果超人
  • 浏览: 198403 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

拨打电话

阅读更多
  拨打电话有两个关键的方面:
  1. 在AndroidManifest.xml中添加uses-permission,<uses-permission android:name="android.permission.CALL_PHONE"/>
  2. 通过自定义的Intent对象,带入"ACTION_CALL"这个ACTION,还要通过Uri.parse()的方法将用户输入的电话号码(Data)带入,最后调用startActivity方法。
package com.kevin.phone;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import android.R.bool;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Canvas.EdgeType;
import android.net.Uri;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Main extends Activity {
	private Button btn_call;
	private EditText number;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        number = (EditText) findViewById(R.id.editText1);
        btn_call = (Button) findViewById(R.id.button1);
        btn_call.setOnClickListener(new Button.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				String phone = number.getText().toString();
				if(isValid(phone)){
					// 构建Intent对象
					Intent callIntent = new Intent(
							"android.intent.action.DIAL", 
							Uri.parse("tel:" + phone));
					startActivity(callIntent);
					number.setText("");
				}else{
					number.setText("");
					Toast.makeText(Main.this, "非法电话号码", Toast.LENGTH_SHORT).show();
				}
			}
		});
    }
    // 检测电话号码输入是否合法
    private boolean isValid(String input){
    	boolean flag = true;
    	String expression = "^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{5})$";
    	String expression2 = "^\\(?(\\d{3})\\)?[- ]?(\\d{4})[- ]?(\\d{4})$";    	
    	// 创建Pattern
    	Pattern pattern = Pattern.compile(expression);
    	// 将Pattern以参数传入Matcher作Regular expression
    	Matcher matcher = pattern.matcher(input);
    	Pattern pattern2 = Pattern.compile(expression2);
    	Matcher matcher2 = pattern2.matcher(input);
    	if(matcher.matches() || matcher2.matches()){
    		flag = true;
    	}else{
    		flag = false;
    	}
    	return flag;
    }
}
分享到:
评论

相关推荐

    系统拨打电话功能很实用的哦

    在IT行业中,系统拨打电话功能是一项非常基础但至关重要的服务,尤其在移动应用开发中,它使得应用程序能够直接与用户的通信设备进行交互,为用户提供便捷的通话服务。本篇文章将深入探讨这一功能的实现原理、代码...

    自动发短信或者拨打电话的挪车HTML源码

    自动发短信或者拨打电话的挪车HTML源码自动发短信或者拨打电话的挪车HTML源码自动发短信或者拨打电话的挪车HTML源码自动发短信或者拨打电话的挪车HTML源码自动发短信或者拨打电话的挪车HTML源码自动发短信或者拨打...

    android webview 拨打电话

    首先,Android系统对拨打电话功能有严格的权限控制。在Android 6.0(API级别23)及以上版本,应用需要在运行时请求`Manifest.permission.CALL_PHONE`权限。因此,我们需要在AndroidManifest.xml中声明此权限,并在...

    android实现拨打电话

    在Android平台上,实现拨打电话功能是一项常见的任务,尤其对于那些需要与用户进行语音通信的应用来说。这个过程涉及到Android系统的权限管理、Intent机制以及电话服务的交互。以下将详细讲解如何在Android应用中...

    Android WebView HTML界面开发 实现拨打电话

    在AndroidManifest.xml中,需要为应用添加`&lt;uses-permission&gt;`标签,以允许拨打电话的权限: ```xml ``` 在布局文件(如activity_main.xml)中,添加WebView控件: ```xml android:id="@+id/webView" ...

    Android案例:拨打电话+发送短信。利用Intent意图

    本案例主要探讨如何利用Intent实现拨打电话和发送短信的功能。首先,我们需要理解Intent的基本概念。 Intent在Android系统中扮演着连接各个组件(如Activity、Service、BroadcastReceiver)的桥梁角色。它们可以...

    IOS 拨打电话(三种方式)

    iOS系统支持使用`tel:`URL scheme来启动电话应用并拨打指定号码。这是最简单且最直接的方式。例如,如果你有一个电话号码`1234567890`,你可以创建一个URL字符串`tel:1234567890`,然后使用`UIApplication`的`...

    使用Intent拨打电话

    当我们需要实现应用内拨打电话功能时,就会用到Intent来调用系统的电话服务。本教程将详细介绍如何使用Intent来拨打电话。 首先,我们需要了解Intent的基本构造。Intent对象有两个主要构造函数:`Intent(String ...

    android10.0禁止拨打电话(屏蔽拨打电话功能).txt

    android 10.0禁止系统拨打电话功能,屏蔽掉系统拨打电话的功能

    利用服务实现电话反复拨打 电话测试小程序

    这个特定的项目名为"利用服务实现电话反复拨打 电话测试小程序",其主要目标是通过自动化的方式反复拨打电话,以便进行各种测试,比如检查通话质量、网络连接稳定性、电池消耗情况以及系统在连续通话下的性能表现。...

    手机禁止拨打电话

    在iOS中,可能需要利用私有API或第三方库来实现类似功能,因为Apple的SDK并不直接支持电话拦截。 8. **更新与维护**:由于操作系统和安全政策的不断更新,开发者需要持续关注系统的变化,及时更新代码以适应新的...

    拨打电话的Demo

    在Android平台上,开发一个能够拨打电话的Demo涉及到多个关键知识点,包括权限管理、Intent机制、用户界面设计以及安全考虑。下面将对这些方面进行详细解释。 首先,Android系统对拨打电话的功能进行了严格的权限...

    Android手机开发可拨打电话发短信

    在Android平台上,开发一款能够拨打电话和发送短信的小程序是一项常见的任务,这涉及到与系统级服务的交互以及用户数据管理。下面将详细讲解这个过程涉及的关键知识点。 首先,要实现拨打电话功能,开发者需要使用`...

    搜索手机通讯录拨打电话

    在现代智能手机中,拨打电话的功能已经不再仅仅是简单的按键操作,而是与手机的通讯录深度集成,使得用户可以更便捷地找到并联系到所需的人。"搜索手机通讯录拨打电话"这个功能是移动通信中的一项重要服务,它允许...

    调制解调器(modem)拨打电话

    在本项目中,我们看到的是一个利用VS2010开发环境,通过AT命令来控制工业调制解调器拨打电话的应用实例。 首先,让我们深入理解一下调制解调器的工作原理。调制解调器的名字来源于英文"Modulator-Demodulator"的...

    Android的拨打电话

    在Android开发中,拨打电话是一项基本功能,通常用于实现应用内的快速拨号或者与通信录集成。本知识点将深入探讨如何在Android应用中调用电话功能,并涉及ContentProvider的使用。 首先,Android提供了Intent机制来...

    SIM800L拨打电话

    SIM800L拨打电话官方程序实例,单片机型号:STC12C5A60S2

    仿360拨打电话遮挡

    这个功能的主要目标是隐藏或遮挡电话号码,防止在拨打电话时泄露通话对象的身份信息,同时在通话结束后还能自动删除相关的通话记录,以增加用户通话的私密性。 首先,我们要理解拨打电话遮挡的原理。在Android系统...

    基于android studio的读取联系人并可点击拨打电话

    这个项目,"基于android studio的读取联系人并可点击拨打电话",显然是一个教学或示例项目,它借鉴了郭霖的畅销书《第一行代码》中的方法。下面将详细讲解如何实现这一功能。 首先,我们需要了解Android的权限管理...

Global site tag (gtag.js) - Google Analytics