Android实战教程第四篇之简单实现短信发送器

本文实例为大家分享了Android发短信功能的实现方法,供大家参考,具体内容如下

首先配置一个布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 xmlns:tools="http://schemas.android.com/tools" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 android:paddingBottom="@dimen/activity_vertical_margin" 
 android:paddingLeft="@dimen/activity_horizontal_margin" 
 android:paddingRight="@dimen/activity_horizontal_margin" 
 android:paddingTop="@dimen/activity_vertical_margin" 
 tools:context=".MainActivity" 
 android:orientation="vertical" 
 > 
 
 <EditText 
 android:id="@+id/et_phone" 
 android:layout_width="match_parent" 
 android:layout_height="wrap_content" 
 android:inputType="phone" 
 android:hint="请输入对方号码" 
 /> 
 <EditText 
 android:id="@+id/et_content" 
 android:layout_width="match_parent" 
 android:layout_height="wrap_content" 
 android:lines="5" 
 android:hint="请输入短信内容" 
 android:gravity="top" 
 /> 
 <Button 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:text="发送" 
 android:onClick="send" 
 /> 
 
</LinearLayout>

 然后在activity中把发短信的代码写出来:

package com.ydl.smssender; 
 
import java.util.ArrayList; 
 
//省略导包 
 
public class MainActivity extends Activity { 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.activity_main); 
 } 
 
 
 public void send(View v){ 
 //拿到用户输入的号码和内容 
 EditText et_phone = (EditText) findViewById(R.id.et_phone); 
 EditText et_content = (EditText) findViewById(R.id.et_content); 
  
 String phone = et_phone.getText().toString(); 
 String content = et_content.getText().toString(); 
  
 //1.获取短信管理器 
 SmsManager sm = SmsManager.getDefault(); 
  
 //2.切割短信,把长短信分成若干个小短信 
 ArrayList<String> smss = sm.divideMessage(content);//an ArrayList of strings that, in order, comprise the original message 
  
 //3.for循环把集合中所有短信全部发出去 
 for (String string : smss) { 
  
  sm.sendTextMessage(phone, null, string, null, null);//Send a text based SMS. 
 } 
 } 
 
} 

发短信是需要系统权限的:

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

效果:

开了两个模拟器,实现了发短信功能。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。