• Android短信发送器_08


    1.string xml代码

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <resources>
     3 
     4     <string name="hello">Hello World, SmsActivity!</string>
     5     <string name="app_name">短信发送器</string>
     6     <string name="lab_number">请输入手机号</string>
     7     <string name="lab_sms">请输短信内容</string>
     8     <string name="lab_btn">发送短信</string>
     9     <string name="sucess">发送成功</string>
    10 
    11 </resources>

    2.mail xml代码

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:layout_width="fill_parent"
     4     android:layout_height="fill_parent"
     5     android:orientation="vertical" >
     6 
     7     <TextView
     8         android:layout_width="fill_parent"
     9         android:layout_height="wrap_content"
    10         android:text="@string/lab_number" />
    11     <EditText
    12          android:layout_width="fill_parent"
    13         android:layout_height="wrap_content"
    14         android:id="@+id/txt_number" />
    15     <TextView
    16          android:layout_width="fill_parent"
    17         android:layout_height="wrap_content"
    18         android:text="@string/lab_sms" />
    19     <EditText
    20          android:layout_width="fill_parent"
    21         android:layout_height="wrap_content"
    22         android:minLines="3"
    23         android:id="@+id/txt_sms" />
    24     <Button
    25         android:layout_width="wrap_content"
    26         android:layout_height="wrap_content"
    27         android:text="@string/lab_btn"
    28         android:id="@+id/btn_ok"
    29         />
    30         
    31 
    32 </LinearLayout>

    3.SmsActivity.java 代码

     1 package FosgeIT.sms;
     2 
     3 import java.util.ArrayList;
     4 import android.app.Activity;
     5 import android.os.Bundle;
     6 import android.telephony.SmsManager;
     7 import android.view.View;
     8 import android.widget.Button;
     9 import android.widget.EditText;
    10 import android.widget.Toast;
    11 
    12 
    13 /*
    14  * 
    15  * @author YinRQ
    16  * 短信模拟器
    17  * 2013-07-05 09:09:44
    18  */
    19 
    20 public class SmsActivity extends Activity {
    21     
    22     //定义窗口元素
    23     private EditText txt_number;
    24     private EditText txt_sms;
    25     private Button btn_ok;
    26     
    27     /** Called when the activity is first created. */
    28     @Override
    29     public void onCreate(Bundle savedInstanceState) {
    30         super.onCreate(savedInstanceState);
    31         setContentView(R.layout.main);
    32         
    33         //初始化控件
    34         txt_number = (EditText) this.findViewById(R.id.txt_number);
    35         txt_sms = (EditText) this.findViewById(R.id.txt_sms);
    36         btn_ok = (Button) this.findViewById(R.id.btn_ok);
    37         
    38         btn_ok.setOnClickListener(new ButtonClickListener());
    39     }
    40     
    41     private final class ButtonClickListener implements View.OnClickListener{
    42 
    43         public void onClick(View v) {
    44             String number = txt_number.getText().toString();
    45             String sms = txt_sms.getText().toString();
    46             
    47             //获取SmsManager 
    48             SmsManager manager=SmsManager.getDefault(); 
    49             //如果内容大于70字,则拆分为多条
    50             ArrayList<String> texts=manager.divideMessage(sms); 
    51             //逐条发送短信
    52             for(String text:texts) { 
    53                 manager.sendTextMessage(number, null, text, null, null); 
    54             }                 
    55             //发送结果提示
    56             Toast.makeText(SmsActivity.this,R.string.sucess, Toast.LENGTH_LONG).show(); 
    57 
    58         }}
    59 }

    4.发送短信权限 AndroidManifest.xml文件

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

    效果:

    关于SmsManager

    SDK中的介绍:Manages SMS operations such as sending data, text, and pdu SMS messages. Get this object by calling the static method SmsManager.getDefault().

    方法:

    public void sendTextMessage (String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)

    destinationAddress: 收件人地址

    scAddress: 短信中心号码,null为默认中心号码

    sentIntent: 当消息发出时,成功或者失败的信息报告通过PendingIntent来广播。如果该参数为空,则发信程序会被所有位置程序检查一遍,这样会导致发送时间延长。

    deliveryIntent: 当消息发送到收件人时,该PendingIntent会被广播。pdu数据在状态报告的extended data ("pdu")中。

    如果收件人或者信息为空则抛出 IllegalArgumentException 。

    public ArrayList<String> divideMessage (String text)

    将大于70字的短信分割为多条。

    参数:text    the original message. Must not be null.

    返回:an ArrayList of strings that, in order, comprise the original message

    sendDataMessage 参数与上类似,只是用于发送Data。

    sendMultipartTextMessage发送多条短信,发送内容必须是用divideMessage分割好了的。

  • 相关阅读:
    EF 使用 oracle
    mysql安装笔记
    解决问题
    第四次冲刺
    第三次冲刺
    SQA
    第二次冲刺
    第一次冲刺,求进步
    Scrum _GoodJob
    我对git 、github的初印象
  • 原文地址:https://www.cnblogs.com/yinrq/p/3173296.html
Copyright © 2020-2023  润新知