作者:程序员小冰,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() {
@Override
public 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

最新文章

  1. Windows无法安装到这个磁盘。请确保在计算机的BIOS菜单中启用了磁盘控制器
  2. 本地代码如何通过TortoiserGit提交到GitHub
  3. 如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
  4. Net分布式系统之二:CentOS系统搭建Nginx负载均衡
  5. MIT jos 6.828 Fall 2014 训练记录(lab 6)
  6. js:语言精髓笔记9--函数式语言特征
  7. MyEclipse10导入工程jsp报错问题
  8. POJ2104 区间第k小
  9. python:字符串取值
  10. Linux学习之nl命令
  11. 发放春节福利,ASP.NET Core断点续传
  12. 海量数据挖掘MMDS week5: 聚类clustering
  13. lsb_release command not found
  14. Python应用场景 (转)
  15. 深入理解java虚拟机,并发方面
  16. CSS之Flex 布局
  17. Angular1.x directive(指令里的)的compile,pre-link,post-link,link,transclude
  18. from sklearn.datasets import make_classification创建分类数据集
  19. Python3常见Exception
  20. 设置参数进行java的jvm监控

热门文章

  1. JavaWeb基础Day17 (JSP EL表达式 jstl标签库 beanutil工具类)
  2. 用MPI进行分布式内存编程(1)
  3. Android 生命周期,解决savedInstanceState一直为null的问题
  4. cxuan读者的外包面试之旅
  5. Spring Cloud 之服务注册中心高可用
  6. JavaScript calss语法糖
  7. 【Python笔记】2020年7月30日练习【汉诺塔游戏】
  8. layui 事件监听触发
  9. C#LeetCode刷题之#766-托普利茨矩阵(Toeplitz Matrix)
  10. c++排序二叉树的出现的私有函数讨论,以及二叉树的删除操作详解