Android拨号器的实现

news/2024/11/16 3:40:26/

Android自带了拨号功能和拨号器,但是在很多的应用中,需要在自己的应用中集成拨号的功能,方便客户直接点击

就可以完成打电话,所以这样的调用Android拨号器的功能还是非常有实用价值的,下面我们来介绍一下Android拨号器

的实现。

调用Android自带的拨号功能其实我们是使用满足他的意图对象而实现调用的,下面我们首先来看一下主要的

Activity代码

package com.bird.phone;import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;public class PhoneActivity extends Activity {private EditText text;//寻找空间这种事情只需要做一次就够了/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);text = (EditText) findViewById(R.id.mobile);//得到文本输入框Button button = (Button) this.findViewById(R.id.button);//根据id寻找控件button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String mobileText = text.getText().toString();Intent intent = new Intent();//创建一个意图对象,用来激发拨号的Activityintent.setAction("android.intent.action.CALL");intent.setData(Uri.parse("tel:"+mobileText));startActivity(intent);//方法内部会自动添加类别,android.intent.category.DEFAULT}});//添加点击事件 }/*//创建内部类实现回调对象private final class ButtonClick implements View.OnClickListener{@Overridepublic void onClick(View v) {String mobileText = text.getText().toString();Intent intent = new Intent();//创建一个意图对象,用来激发拨号的Activityintent.setAction("android.intent.action.CALL");intent.setData(Uri.parse("tel:"+mobileText));startActivity(intent);//方法内部会自动添加类别,android.intent.category.DEFAULT}}*/
}


大部分介绍都放在了代码的注释上面,其实还是很简单的。

然后最主要的就是配置文件了

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.bird.phone"android:versionCode="1"android:versionName="1.0" ><uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8"/><uses-permission android:name="android.permission.CALL_PHONE"/><applicationandroid:icon="@drawable/ic_launcher"android:label="@string/app_name" ><activityandroid:name=".PhoneActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

主要是权限问题
<uses-permission android:name="android.permission.CALL_PHONE"/>

调用拨号功能需要有权限调用拨号,这个东西会在用户安装这个应用的时候提示你是否允许他使用拨号的功能,好,下面就是一个
界面的问题了
main.xml页面文件如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/mobile" /><EditText android:layout_width="fill_parent"android:layout_height="wrap_content"android:inputType="text"android:id="@+id/mobile"/><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/button"android:id="@+id/button"/>
</LinearLayout>

然后是strings.xml


<?xml version="1.0" encoding="utf-8"?>
<resources><string name="hello">Hello World, PhoneActivity!</string><string name="app_name">Phone</string><string name="mobile">请输入手机号</string><string name="button">拨号</string>
</resources>

好,至此一个简单的Android拨号器就完成了,功能虽小,但是使用的地方还是很多的.


http://www.ppmy.cn/news/360681.html

相关文章

[Android]电话拨号器

继续今天的Android&#xff0c;经过昨天大体了解了Android开发的一些基本文件结构&#xff0c;今天来做一个电话拨号器&#xff01; 预期达到的效果 实现过程 首先还是按照昨天第一篇教程&#xff0c;新建一个项目叫PhoneCall的Android的应用 这里采用的是 LinearLayout是线性…

创新工场孵化项目拨号精灵用户数接近100万,做iPhone上最适合中国人的拨号工具

拨号精灵是一款iPhone上的拨号和联系人管理应用&#xff0c;它可以让你通过联系人名字的首字母迅速定位到该联系人&#xff0c;以及将联系人按拨打电话次数的多少从上到下依次排列等&#xff0c;弥补iPhone手机默认拨号和联系人管理的不足。 本月初拨号精灵创始人简晶在CSDN软件…

降维和特征选择的对比

降维? 降低数据集中特征的维数,同时保持尽可能多的信息的技术被称为降维。它是机器学习和数据挖掘中常用的技术,可以最大限度地降低数据复杂性并提高模型性能。 降维可以通过多种方式实现,包括: 主成分分析 (PCA):PCA 是一种统计方法,可识别一组不相关的变量,将原始变…

99.实战网页构建定价部分-第二节

上节课我们完成的定价页面是这样的 上节课我们完成的定价页面是这样的 ● 首先我们先给卡片加上背景颜色 .princing-plan {background-color: #fdf2e9;border-radius: 11px;padding: 4.8rem; }● 之后我们调整下框子的大小和位置 ● 接着我们给基础价格再调价一项&#x…

4、5类LSA案例

拓扑 需求 实现PC1和PC3互联互通 配置步骤 1&#xff09;配置接口信息 - 配置PC的IP地址 - 配置路由器的接口 2&#xff09;配置OSPF单区域 - 创建ospf进程&#xff0c;定义router-id - 指定相应区域 - 宣告网段进入ospf 3&#xff09;配置OSPF多区域 4) R6配置去往PC3的静…

QNX Neutrino RTOS简介

QNX是一个分布式、可扩展、遵从开放系统POSIX API规范的类Unix硬实时操作系统。 QNX为微内核的架构&#xff0c;微内核只提供进程调度、进程间通信、底层网络通信和中断处理四种服务。驱动程序、协议栈、文件系统、应用程序等都在微内核之外内存受保护的安全的用户空间内运行&…

Introduction of IoT(0)

希望可以通过写博客的方式加深记忆。 笔记来源于北京邮电大学张海涛老师 和 浙江师范大学陈丽娜老师的课程。 感谢老师同学的帮助与支持&#xff01; Github笔记地址

什么是IoT、IT、OT、CT

什么是IT IT&#xff08;Information Technology 信息技术&#xff09;&#xff0c;包括科学&#xff0c;技术&#xff0c;工程以及管理等学科&#xff0c;最初是指互联网技术&#xff08;Internet Technology&#xff09;&#xff0c;IT业代表了计算机业&#xff0c;BAT这些…