作者:程序员小冰,GitHub主页:https://github.com/QQ986945193
新浪微博:http://weibo.com/mcxiaobing
首先先给大家看一下最终实现的效果:

其实这个案例的demo实在是太简单了。不过此功能也是非常强大,用处挺多的,
就像所谓的蚂蚁虽小,五脏俱全。我们可以用它集成在我们的app中。
拨打客服电话之类的。所以下面看代码吗,首先我们写好布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><EditText
        android:id="@+id/et_phone_num"android:layout_width="match_parent"android:layout_height="60dp"android:hint="请输入手机号码" /><Button
        android:id="@+id/btn_call_phone"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="点击拨打电话" />
</LinearLayout>

然后java代码中实现拨打电话的功能
`package davidappcheckupdate.qq986945193.com.callphonedavidapp;

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

/**
* @author :程序员小冰
* @新浪微博 :http://weibo.com/mcxiaobing
* @GitHub:https://github.com/QQ986945193
* @CSDN博客: http://blog.csdn.net/qq_21376985
* @交流Qq :986945193
*/
public class MainActivity extends AppCompatActivity {

private EditText etPhone;
private Button btnPhone;@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);etPhone = (EditText) findViewById(R.id.et_phone_num);btnPhone = (Button) findViewById(R.id.btn_call_phone);btnPhone.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (etPhone.getText().toString().trim() == null || etPhone.getText().toString().trim().equals("")) {Toast.makeText(MainActivity.this, "对不起,电话不能为空", Toast.LENGTH_SHORT).show();return;} else if (etPhone.getText().toString().trim() != null && !(etPhone.getText().toString().trim().equals(""))) {Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ etPhone.getText().toString().trim()));if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {return;}startActivity(intent);}}});
}

}
`
最后重要的一点就是,添加拨打电话的权限在AndroidManifest.xml:

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

好了,教程到此结束。想要源代码的请看下面下载链接:
(AndroidStudio版)github下载地址:
https://github.com/QQ986945193/CallPhoneDavidApp

(AndroidStudio版)git开源中国下载地址:
http://git.oschina.net/MCXIAOBING/CallPhoneDavidApp

(AndroidStudio版)CSDN免积分下载地址:
http://download.csdn.net/detail/qq_21376985/9623854

转载于:https://www.cnblogs.com/mcxiaobing/p/5907335.html

【Android】Android开发初学者实现拨打电话的功能,拨打电话app小demo实现相关推荐

  1. Android内核开发:在源码树中添加新的app应用

    本文是<Android内核开发>系列的第十二篇文章,上一篇文章介绍了如何从源码中删除出厂的app应用,本文则在此基础上,详细介绍一下如何在Android内核源码树中添加一个新的app应用. ...

  2. Android内核开发:从源码树中删除出厂的app应用

    本文是<Android内核开发>系列的第十一篇文章,本文重点介绍如何从Android源码中删除出厂的app应用. 上一篇文章中提到过,系统出厂的app应用,其实就是被安装到/system分 ...

  3. 【Android 应用开发】Android 无障碍开发简介 ( Android 无障碍开发辅助技术 | 启用 TalkBack 无障碍功能 | TalkBack 无障碍开发 示例 )

    文章目录 一.Android 无障碍开发辅助技术 二.启用 TalkBack 无障碍功能 三.TalkBack 无障碍功能代码示例 官方文档 : Android 无障碍功能概览 一.Android 无 ...

  4. android应用开发-从设计到实现 1-2 功能的确定

    功能的确定 产品的功能并不是在确定了产品之后才开始考虑的,功能与创意选择其实是一个"你中有我,我中有你"的关系.为了体现产品设计的阶段性,我才将它单独提出来分析. 这里讨论的产品功 ...

  5. Android 蓝牙开发(九)A2DP基本功能

    转载请注明出处:http://blog.csdn.net/vnanyesheshou/article/details/71713786 本文主要是Android做为Audio Source端,A2DP ...

  6. [转载]玩转Android Camera开发(三):国内首发---使用GLSurfaceView预览Camera 基础拍照demo...

    GLSurfaceView 是OpenGL中的一个类,也是可以预览Camera的,而且在预览Camera上有其独到之处.独到之处在哪?当使用Surfaceview无能为力. 痛不欲生时就只有使用GLS ...

  7. Android插件化开发之DexClassLoader动态加载dex、jar小Demo

    一.温故动态加载ClassLoader机制 如果对Android的ClassLoader加载机制不熟悉,猛戳Android插件化开发动态加载基础之ClassLoader工作机制 http://blog ...

  8. android jsoup简书,jsoup爬虫简书首页数据做个小Demo

    昨天LZ去面试,遇到一个大牛,被血虐一番,发现自己基础还是很薄弱,对java一些原理掌握的还是不够稳固,比如java反射注解,知道一点就是说不出来,很尴尬... 生命不止,学习不止啊 之前那个项目 Q ...

  9. android多边形拼图源码,【BMPinTu】一款拼图App的demo。多边形凹凸拼图

    项目介绍: GitHub地址:https://github.com/birdmichael/BMPinTu 项目特点 一款市面少见的拼图demo,很常见的是类似华容道一样的拼图,而不是类似贴图的拼图. ...

最新文章

  1. php display_errors
  2. 热烈欢迎乔丹入驻博客园
  3. 职业生涯的8种德---非常重要
  4. stoi() 函数----将一个string类型转换为int型
  5. ajax返回值怎么取出来_螺丝断孔里了,怎么取出来?
  6. 【Unity】6.8 Quaternion类(四元数)
  7. mysql pdo 事务处理_php中pdo的mysql事务处理实例
  8. DevSecOps简介(二)
  9. socket-Java
  10. php url传递 加号,坑爹的URL编码-PHP正确处理URL中的加号(+)
  11. Linux下c编程设置串口属性和读写串口操作说明总结
  12. 转载如果在浏览器网页标题栏左侧加自定义小图标
  13. 51流水灯c语言程序与解释,51单片机流水灯C语言源代码
  14. SEO_关键词研究工具
  15. 4款idea主题,非常的炫酷
  16. linux 1394驱动下载,1394驱动
  17. Jsoup爬虫获取公司纳税识别号
  18. 大数据时代的国际贸易理论新发展
  19. 近期你已经授权登录过_不查不知道,我的微信、QQ 居然授权登录过这么多应用!...
  20. java实现别踩白块儿,jQuery实现别踩白块儿网页版小游戏

热门文章

  1. 单片机编程之联合体(union)的妙用
  2. c++中虚函数和纯虚函数定义
  3. Fast Radial Symmetry Transform/快速径向对称变换
  4. 二维矩阵与二维矩阵之间的卷积
  5. 安装 centos7
  6. c语言实践 1/1+1/2+1/3+1/4+...+1/n
  7. 最短Hamilton路径-状压dp解法
  8. jquery的html代码中a的onclick的正确显示的代码
  9. 性能测试-Jmeter
  10. RAC分解步骤之一,在oracle linux 4u4上安装oracle 10.2.0.1.0操作日志