广告
返回顶部
首页 > 资讯 > 精选 >Android怎么实现简单的拨号器功能
  • 664
分享到

Android怎么实现简单的拨号器功能

android 2023-05-30 23:05:30 664人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关Android怎么实现简单的拨号器功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。简易拨号器的制作方法,具体如下一、布局构造<RelativeLayout xmlns:

这篇文章给大家分享的是有关Android怎么实现简单的拨号器功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

简易拨号器的制作方法,具体如下

一、布局构造

<RelativeLayout xmlns:android="Http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent">  <TextView    android:id="@+id/textView"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="请输入电话号码:"    android:textSize="30sp"    />  <EditText    android:id="@+id/editText"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_below="@+id/textView" />  <Button    android:id="@+id/dial"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_below="@+id/editText"    android:text="Dial"    android:layout_alignParentRight="true"    android:layout_marginTop="20dp"    android:textSize="20sp"/></RelativeLayout>

构造出布局如图

Android怎么实现简单的拨号器功能

二、授予软件打电话权限

在AndroidManifest.xml添加如下代码

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

授予软件打电话权限,否则打不了电话

三、写代码(适用于安卓6.0以下)

1).定义一个外部类去实现setOnClickListener所需要的接口类型

package com.example.kim.phonedial;import android.content.Intent;import android.net.Uri;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;public class MainActivity extends AppCompatActivity {  private EditText et;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    //1.加载布局    setContentView(R.layout.activity_main);    //3.找到控件 editText 和 Button    et=(EditText)findViewById(R.id.editText);    Button btn=(Button)findViewById(R.id.dial);    //3.设置Buuton点击事件     btn.setOnClickListener(new MyClickListener());  }  //4.定义一个类去实现setOnClickListener所需要的接口类型  private class MyClickListener implements View.OnClickListener{    public void onClick(View v){      //5.获取 editText的文本内容      String num=et.getText().toString().trim();      if("".equals(num)){        //Lenth_long 在源代码中的值为1,Length_short在源代码中的值为0        //所以Length_long可直接写成1,Length_short可直接写成0        Toast.makeText(MainActivity.this,"所输号码不能为空",Toast.LENGTH_LONG).show();        return;      }      //6.进行拨打电话 意图Intent      Intent intent=new Intent();//创建一个意图      //6.1设置动作 打XX      intent.setAction(Intent.ACTION_CALL);//设置打的动作      //6.2设置要拨打的数据  uri类型      // uri统一资源标识符 url统一资源定位符      intent.setData(Uri.parse("tel:"+num));      //6.3开启意图      startActivity(intent);    }  }}

2)匿名内部类实现setOnClickListener所需要的接口类型

package com.example.kim.phonedial;import android.content.Intent;import android.net.Uri;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;public class MainActivity extends AppCompatActivity {  private EditText et;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    //1.加载布局    setContentView(R.layout.activity_main);    //3.找到控件 editText 和 Button    et=(EditText)findViewById(R.id.editText);    Button btn=(Button)findViewById(R.id.dial);    //3.设置Buuton点击事件    // btn.setOnClickListener(new MyClickListener(){});    btn.setOnClickListener(new View.OnClickListener(){      public void onClick(View v){        String num=et.getText().toString().trim();        if(num.equals("")){          Toast.makeText(MainActivity.this,"所输入号码不能为空",Toast.LENGTH_LONG).show();        }else{          Intent intent=new Intent();          intent.setAction(Intent.ACTION_CALL);          intent.setData(Uri.parse("tel:"+num));          startActivity(intent);        }      }    });  }}

四、写代码(适用于安卓6.0及以上)

在Android6.0及以上平台,即便已经添加了打电话的权限,运行时依然会报错安全异常:权限被拒绝。 应该在应用启动时检查应用是否被授予电话权限。

package com.example.kim.phonedial;import android.Manifest;import android.content.Intent;import android.content.pm.PackageManager;import android.net.Uri;import android.provider.Settings;import android.support.v4.app.ActivityCompat;import android.support.v4.content.ContextCompat;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;public class MainActivity extends AppCompatActivity {  private EditText et;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    //1.加载布局    setContentView(R.layout.activity_main);    //3.找到控件 editText 和 Button    et = (EditText) findViewById(R.id.editText);    Button btn = (Button) findViewById(R.id.dial);    //3.设置Buuton点击事件    // btn.setOnClickListener(new MyClickListener(){});    btn.setOnClickListener(new View.OnClickListener() {      public void onClick(View v) {        //检查是否获得打电话权限        //如果没有获得电话权限        if(ContextCompat.checkSelfPermission(MainActivity.this,            Manifest.permission.CALL_PHONE)!= PackageManager.PERMISSION_GRANTED){              if(ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,                  Manifest.permission.CALL_PHONE)){                  //返回值:                  //app请求过该权限,被用户拒绝,返回true                  //用户拒绝权限,并勾选了don't ask again,返回false                  //设备策略禁止拥有该权限,返回false                  //提示用户授权                  Toast.makeText(MainActivity.this,"请授予该应用电话权限",Toast.LENGTH_LONG).show();                  //跳转到该应用设置界面,帮助用户授权                  Intent intent=new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);                  Uri uri=Uri.fromParts("package",getPackageName(),null);                  intent.setData(uri);                  startActivity(intent);              }        }else{          CallPhone();        }      }    });  }  private void CheckPermission(){  }  private void CallPhone() {    String num = et.getText().toString().trim();    if (num.equals("")) {      Toast.makeText(MainActivity.this, "所输入号码不能为空", Toast.LENGTH_LONG).show();    } else {      Intent intent = new Intent();      intent.setAction(Intent.ACTION_CALL);      intent.setData(Uri.parse("tel:" + num));      startActivity(intent);    }  }}

感谢各位的阅读!关于“Android怎么实现简单的拨号器功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Android怎么实现简单的拨号器功能

本文链接: https://www.lsjlt.com/news/222002.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android怎么实现简单的拨号器功能
    这篇文章给大家分享的是有关Android怎么实现简单的拨号器功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。简易拨号器的制作方法,具体如下一、布局构造<RelativeLayout xmlns:...
    99+
    2023-05-30
    android
  • Android编程简单实现拨号器功能的方法
    本文实例讲述了Android编程简单实现拨号器功能的方法。分享给大家供大家参考,具体如下:学习Android已经有2天时间了,没学习的时候觉得android可能很枯燥,但是学过之后我发觉其实这个比什么javaweb好玩多了。学习androi...
    99+
    2023-05-30
    android 拨号器 roi
  • Android实战教程第三篇之简单实现拨打电话功能
    本文实例为大家分享了Android打电话功能的实现代码,需要一个文本输入框输入号码,需要一个按钮打电话。 本质:点击按钮,调用系统打电话功能。 xml布局文件代码:: &...
    99+
    2022-06-06
    电话 教程 Android
  • 简单实现Android计算器功能
    自己写的安卓的计算器: 注:这个是在mac中开发的,如果要在windows的eclipse中运行可能会出现路径问题,解决办法从windows中已有的安卓工程根目录下复制一下cl...
    99+
    2022-06-06
    Android
  • android studio怎么实现简单的计算器小功能
    这篇文章主要介绍了android studio怎么实现简单的计算器小功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇android studio怎么实现简单的计算器小功能文章都会有所收获,...
    99+
    2023-06-30
  • Android Studio实现简单计算器功能
    本文实例为大家分享了Android Studio实现简单计算器功能的具体代码,供大家参考,具体内容如下 程序步骤: (1)在布局文件定义一些计算器界面的文本框,按钮等组件。 (...
    99+
    2022-06-06
    Android Studio studio Android
  • Android实现简单的照相功能
    一个简单的照相功能,拍照之后在另一个activit中显示出拍照的图片。首先是布局文件: <xml version="1.0" encoding="utf-8"> <...
    99+
    2022-11-13
  • Android简单实现画图功能
    如何在图片上画画呢?这里写了一个demo,供大家参考 一、先看一眼工程结构 工程结构: 二、自定义view 这个自定义view实现了保留轨迹的功能,代码如下 packag...
    99+
    2022-06-06
    Android
  • Android怎么实现简单动态搜索功能
    本篇内容介绍了“Android怎么实现简单动态搜索功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言提到Android的动态搜索,大多应...
    99+
    2023-06-30
  • android studio实现简单的计算器小功能
    本文实例为大家分享了android studio实现简单计算器的具体代码,供大家参考,具体内容如下 布局: <xml version="1.0" encoding="utf-8...
    99+
    2022-11-13
  • Android中怎么实现一个电话拨号器
    本篇文章给大家分享的是有关Android中怎么实现一个电话拨号器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。package com.example.phone;&n...
    99+
    2023-05-30
    android
  • Android开发实现简单计算器功能
    计算器项目,要求实现加、减、乘、除、求倒数、求平方根等简单运算。 真机调试结果如下图: 布局文件:main_activity.xml <?xml version=...
    99+
    2022-11-12
  • Android实现简单购物车功能
    本文实例为大家分享了Android实现购物车功能的具体代码,供大家参考,具体内容如下MainActivity布局:<?xml version="1.0" encoding="utf-8"?><LinearL...
    99+
    2023-05-30
    android 购物车 roi
  • Android 简单实现倒计时功能
    在 Android 中倒计时功能是比较常用的一个功能,比如短信验证码,付款倒计时等。实现方式有Handler、Thread 等,但是实现起来都有点麻烦,其实Android已经为...
    99+
    2022-06-06
    倒计时 Android
  • Android实现摇一摇简单功能
    说起摇一摇大家可能就会想到微信的摇一摇功能。后来很多APP也跟着上了摇一摇的相关功能。这里我们就介绍一下摇一摇怎么做。 步骤1:声明一个SensorManager对象 步骤2:重写A...
    99+
    2022-11-12
  • Android实现简单画中画功能
    Android 8.0推出了PictureInPicture(画中画功能),目前只有在8.0以上的系统上支持。对比IOS,IOS的Picture in Picture 模式是苹果公司...
    99+
    2022-11-12
  • Android ListView实现简单列表功能
    ListView如何实现简单列表,供大家参考,具体内容如下效果图:啥也没干的ListView张这样:fry.Activity01package fry;import com.example.ListView.R;import android...
    99+
    2023-05-30
    listview 列表 roi
  • C#怎么实现简单的计算器功能
    这篇“C#怎么实现简单的计算器功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#怎么实现简单的计算器功能”文章吧。1.界...
    99+
    2023-06-29
  • Android Studio开发实现简单计算器功能
    本文实例为大家分享了Android Studio开发实现简单计算器的具体代码,供大家参考,具体内容如下 代码: activity_3.xml <xml version="1.0...
    99+
    2022-11-13
  • iOS怎么实现简单计算器功能
    本篇文章给大家分享的是有关iOS怎么实现简单计算器功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。//  ZYAppDelegate.m// &...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作