当前位置: 移动技术网 > IT编程>移动开发>Android > Android开发之电话拨号器和短信发送器实现方法

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

偷马桶盖,失婚少东,学生网

本文实例讲述了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程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网