电话拨号器

手机自带了电话拨号器,为什么我们还要开发电话拨号器

1 按照需求,当我们开发个交友程序  要在旁边拨打电话联系 某个人的时候就需要输入电话号码 进行拨打

2  熟悉了解电话拨号器的实现过程,对部分源码进行解读

 

新建android的项目

在主界面布局layout-->main.xml中实现电话拨打的界面

      电话拨打的界面由三部分组成   提示文字:请输入电话号码   输入电话的文本框    拨打按钮组成

代码解释

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="cn.itcast.myphone"
      android:versionCode="1"
      android:versionName="1.0">

 

versioncode 开发应用的版本号  versionName开发应用的版本名字

<application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MianAcitivity"
                  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>

 

android:name=".mainAciivity"表示所对应的activity   .可以省略   当不在包cn.itcast.myphone下 在其子包 .不能省略     label 显示应用的名字  可以任意修改

 

     

 <uses-sdk android:minSdkVersion="8" />

 

这个表示支持的最低sdk的版本

 

Layout--》mian.xml解释

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

 

这个不总做解释  有点编程经验的  都可以看懂

<Button
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="@string/button"
	android:id="@+id/button"
/>

 

这个里面要解释的是android:id="@+id/button"

表示在R文件生成一个静态类,并在静态类中生成一个button的静态常量

 

显示activity的布局界面完成,要给拨打电话的按钮提供id  ,输入电话的文本框也要提供id,供获取电话号码使用

 

在我们创建的MainActivty中就可以通过id获取 按钮

this.findViewById(R.id.Button);

其返回对象为view  我们查看view是个接口,图形组建都实现了view接口 所以我们在这定义成Button

并为button 添加设置事件   button.setOclickListener(..);这个方法里面接受一个OnclickListener 的事件,OnclickListener是个接口,我们编写个内部类实现这个接口并添加未实现的方法onClick   改方法返回的是一个view对象,我们可以想象当我们拨打电话在点击拨打按钮后,是切换到另一个界面即是这边的返回的view.

 

按钮时间有了,我们怎么拨打电话呢  可以查看android自带的拨打电话的源码

platforms\android-8\sources\Phone在这个位置就可以找到 进入应用清单:AndroidMainfest.xml

 <activity android:name="OutgoingCallBroadcaster"
                android:permission="android.permission.CALL_PHONE"
                android:theme="@android:style/Theme.NoDisplay"
                android:configChanges="orientation|keyboardHidden">
            <!-- CALL action intent filters, for the various ways
                 of initiating an outgoing call. -->
            <intent-filter>
                <action android:name="android.intent.action.CALL" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="tel" />
            </intent-filter>

 

里面有个意图拦截器,android意图是激活组件的意思。经过分析 我们只要实现android的第一个衣服拦截器中的aciton data  还有category 就可以实现打电话的功能。

在oncreate方法中  创建意图对象 intent  设置其action属性 和 data属性,data里面接受一个uri  在这里我们用强转字符串传入电话号码:uri.parse("tel:"+phonenum); tel拨打电话的协议

category属性我们并可以不显示的设置,当我们调用startAcivity的时候就程序自动设置category属性

部署测试  发现有问题

因为我们安装的程序没有安全提示

 

所以在程序清单中加入安全权限,当安装程序的时候就会有提示,提示用户是否安装

<android:name="android.permission.CALL_PHONE"/>

 

 

查看模拟器的sd卡,在当前用户目录下就可以找到

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值