Android开发之电话拨号器和短信发送器实现方法

本文实例讲述了Android开发之电话拨号器和短信发送器实现方法。分享给大家供大家参考,具体如下:

电话拨号器

实现原理:用户输入电话号码,当点击拨打的时候,由监听对象捕获,监听对象通过文本控件获取到用户输入的电话号码,由于系统已经实现了电话拨号功能,所以我们只需要调用这个功能就可以了。

步骤:

1.界面布局
2.编写Activity
3.使用意图过滤器激活电话拨号功能
4.添加电话服务权限(用手机的电话服务,要在清单文件AndroidManifest.xml中添加电话服务权限)

如图所示这三个控件是垂直摆放的,所以要使用线性布局来搁置显示控件

效果图:

界面布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
  <!--提示信息-->
  <TextView
  android: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:id="@+id/moblie"
  />
  <!--拨号按钮 -->
  <Button
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/button"
  android:id="@+id/button"
  />
</LinearLayout>

Activity:

package cn.test.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 MainActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //根据控件的id查找到按钮控件
    Button button =(Button)this.findViewById(R.id.button);
    button.setOnClickListener(new ButtonClickLister());  //点击事件的处理对象
  }
  //监听对象实现拨打功能
  private class ButtonClickLister implements View.OnClickListener{
    public void onClick(View v){
      EditText mobileText=(EditText)findViewById(R.id.moblie);
      String moblie=mobileText.getText().toString(); //获取到用户输入的时间
      Intent intent =new Intent();
      intent.setAction("android.intent.action.CALL");
      intent.setData(Uri.parse("tel:"+moblie));
      //根据意图过滤器参数激活电话拨号功能
      startActivity(intent);
    }
  }
}

添加电话服务权限:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="cn.itcast.action"
   android:versionCode="1"
   android:versionName="1.0">
   略....
  <uses-sdk android:minSdkVersion=“6" />
  <!-- 电话服务权限 -->
  <uses-permission android:name="android.permission.CALL_PHONE"/>
</manifest>

短信发送器

短信发送器和电话拨号器步骤差不多,需要注意的是当获取到短信内容时,如果短信内容非常多需要对短信内容进行拆分,拆分后存到集合里,对短信内容多条发送

效果图:

界面布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
  <!--显示控件-->
  <TextView
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:text="@string/moblie"
  />
  <!--文本框按钮-->
  <EditText
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:id="@+id/moblie"
  />
  <TextView
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:text="@string/content"
  />
  <EditText
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:minLines="3"
  android:id="@+id/content"
  />
  <Button
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/button"
  android:id="@+id/button"
  />
</LinearLayout>

Activity:

package cn.test.sms;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button button =(Button)this.findViewById(R.id.button);
    button.setOnClickListener(new ButtonClickLister());  //点击事件的处理对象
  }
  //监听对象实现拨打功能
  private class ButtonClickLister implements View.OnClickListener{
    public void onClick(View v){
      EditText moblieText=(EditText)findViewById(R.id.moblie);
      EditText contentText=(EditText)findViewById(R.id.content);
      String moble =moblieText.getText().toString();//获取电话号
      String content =contentText.getText().toString();//获取短信内容
      SmsManager smsManager=SmsManager.getDefault();//获得短信管理器
      ArrayList<String> texts=smsManager.divideMessage(content);//对短信内容进行拆分
      for(String text:texts){
        smsManager.sendTextMessage(moble, null, text, null, null);  //短信发送
      }
        //采用吐西方式提示用户发送成功
      Toast.makeText(getApplicationContext(), R.string.success, 1).show();
    }
  }
}

添加短信服务权限:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="cn.itcast.action"
   android:versionCode="1"
   android:versionName="1.0">
   略....
  <uses-sdk android:minSdkVersion="8" />
  <!-- 短信服务权限 -->
  <uses-permission android:name="android.permission.SEND_SMS" />
</manifest>

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • Android 2.3 拨号上网流程从源码角度进行分析

    通常,如果我们想使用SIM卡拨号上网功能,我们要在设置中进行简单的配置,步骤如下: 设置 ->无线和网络 ->移动网络 ->(已启用数据/数据漫游/接入点名称/仅使用2G网络/网络运营商) 我们必须选中其中的"已启用数据"选项,然后配置接入点名称后就可以上网了,当然有的设置中已经根据你的SIM卡类型默认设置了接入点,这时候你只选择"已启用数据"项后就可以完成上网功能设置. 这些设置步骤究竟做了哪些事情呢?我们现在就从源码的角度进行分析. 1. 首先

  • Android电话拨号器实例详解

    笔者正在自学Android开发,随着学习的进程的加深,我会写一些小白级别的案例,一是为了保存代码和笔记,二也是为了供同样热爱Android的小伙伴参考.这里写了一个小案例,叫电话拨号器.下面详细介绍如何做: 对于我们初学者来说,做案例不同于做项目,我们是为了学习所以做案例基本上就是以下三步: 1.做界面UI 2.做业务逻辑,就是具体的编程实现 3.做测试,可以用模拟器,也可用真机.(这里说一下,如果你的电脑配置不是很高,但有Android的真机的话,用真机吧,模拟器真的是太慢了) 首先,做UI,

  • Android Studio Intent隐式启动,发短信,拨号,打电话,访问网页等实例代码

    Android Studio Intent隐式启动,发短信,拨号,打电话,访问网页等实例代码 功能 创建5个按钮,隐式启动.发短信.拨号按钮.电话按钮.打开网页按钮.通过使用Intent来完成各自按钮下的功能 代码目录如下 详细代码如下: activity_main.xml代码如下 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://sc

  • Android电话拨号器实现方法

    本文实例讲述了Android电话拨号器实现方法.分享给大家供大家参考.具体如下: 以下案例模拟android电话拨号器的实现 AndroidManifest.xml清单列表 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ljq

  • Android编程简单实现拨号器功能的方法

    本文实例讲述了Android编程简单实现拨号器功能的方法.分享给大家供大家参考,具体如下: 学习Android已经有2天时间了,没学习的时候觉得android可能很枯燥,但是学过之后我发觉其实这个比什么javaweb好玩多了.学习android可以见到一些很有趣的东西,这里呢也建议学习javaME的人不要在煎熬了,学习android吧.在写程序之前也需要知道android的工作原理 1.获取组件清单 2.登记或注册组件 3.将组件封装成意图 4.把意图交给意图处理器进行处理 5.把界面显示给用户

  • Android学习笔记(二)之电话拨号器

    目前Android已经在只能手机市场已经具有强大的霸主地位,也吸引了越来越多的追捧者.Android的学习也越来越火.但是,报名费用确实大多人望而却步 一.新建项目CallPhone 1.1.建立项目 二.设置界面与项目名称 2.1.更改项目名称 res/values下strings.xml中更改app_name电话拔号器 string.xml <?xml version="1.0" encoding="utf-8"?> <resources>

  • Android开发之电话拨号器实例详解

    本文实例分析了Android开发之电话拨号器的用法.分享给大家供大家参考,具体如下: 1.新建一个名为javacallPhone的安卓项目,并在cn.csdn.hr.activity包下建一个CallPhoneActivity.java类 2.打开res下的Layout下的main.xml进行布局,设置布局方式为水平布局,再从左侧分别拖入textview,text files下的Phone,和button按钮,通过new String后效果如下: 3.打开CallPhoneActivity.ja

  • Android简易电话拨号器实例详解

    安卓开发简易电话拨号器,具体内容如下 我是基于安卓4.2.2开发的,下面是我写的MainActivity.java代码: package com.example.phone; import android.support.v7.app.ActionBarActivity; import android.support.v4.app.Fragment; import android.content.Intent; import android.net.Uri; import android.os.

  • 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&quo

  • Android开发之电话拨号器和短信发送器实现方法

    本文实例讲述了Android开发之电话拨号器和短信发送器实现方法.分享给大家供大家参考,具体如下: 电话拨号器 实现原理:用户输入电话号码,当点击拨打的时候,由监听对象捕获,监听对象通过文本控件获取到用户输入的电话号码,由于系统已经实现了电话拨号功能,所以我们只需要调用这个功能就可以了. 步骤: 1.界面布局 2.编写Activity 3.使用意图过滤器激活电话拨号功能 4.添加电话服务权限(用手机的电话服务,要在清单文件AndroidManifest.xml中添加电话服务权限) 如图所示这三个

  • Android短信发送器实现方法

    本文实例讲述了Android短信发送器实现方法.分享给大家供大家参考.具体如下: 这里模拟android短信发送器的实现 AndroidManifest.xml清单文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ljq.

  • Android编程实现读取手机联系人、拨号、发送短信及长按菜单操作方法实例小结

    本文实例讲述了Android编程实现读取手机联系人.拨号.发送短信及长按菜单操作方法.分享给大家供大家参考,具体如下: 1.Andrid项目结构图↓主要操作图中红色方框内的文件. 2.首先布局代码如下 a, main.xml 程序运行的主界面,主要用ListView列表控件展示手机联系人 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://s

  • Android开发之简单文件管理器实现方法

    本文实例讲述了Android开发之简单文件管理器实现方法.分享给大家供大家参考,具体如下: 这里运用Java I/O.ListActivity.Dialog.Bitmap等实现简单文件管理器,可以查看目录文件,修改文件名,删除文件,打开文件.比较简单,直接看代码: 先看布局文件: layout/main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&q

随机推荐