欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-12-19 10:23:04
本文实例讲述了android开发之电话拨号器和短信发送器实现方法。分享给大家供大家参考,具体如下: 电话拨号器 实现原理:用户输入电话号码,当点击拨打的时候,由监听对象...

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

电话拨号器

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

步骤:

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

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

效果图:

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

界面布局:

<?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>

短信发送器

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

效果图:

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

界面布局:

<?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程序设计有所帮助。

上一篇:

下一篇: