Android中发送短信(sms)
时间:2011年08月21日作者:么吉查看次数:104 views评论次数:0
分享一下本人中其中一个应用(手机短信转发)的代码,主要是实现短信的发送功能。
如果想做一些短信相关的应用,以下的代码可能对你有帮助。
相关的软件可以访问我发布在goapk里的页面 : http://www.goapk.com/pkg/rbase.app.smshelpmate
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | package rbase.app.smshelpmate.sms.util; import java.util.ArrayList; import rbase.android.core.util.StringUtils; import rbase.android.core.util.UIUtil; import rbase.app.smshelpmate.R; import android.app.Activity; import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.telephony.SmsManager; import android.util.Log; /** * SMS 的工具类,主要是发送短信的辅助 * * @author r-base.net */ public class SmsUtil { public static void sendSMS(Context ctx, String phoneNumber, String message) { sendSMS(ctx, phoneNumber, message, null); } /** * 发送sms * * @param ctx Android 的 Context * @param phoneNumber 发送的手机号码 * @param message 发送短信的内容 * @param toastText 发送后显示的toast内容 */ public static void sendSMS(Context ctx, String phoneNumber, String message,String toastText) { Log.d("sms", "sending sms"); // 检查手机号和转发内容,主要是检查手机号码与发送内容的合法性 if(!checkMessage(ctx, phoneNumber, message)){ return; } // 得到SMS的管理类 SmsManager smsMgr = SmsManager.getDefault(); // 如果大于70个字符需要分割成多条短信发送 if (message.length() > 70) { ArrayList<String> msgs = smsMgr.divideMessage(message); for (String msg : msgs) { smsMgr.sendTextMessage(phoneNumber, null, msg, null, null); } } else { smsMgr.sendTextMessage(phoneNumber, null, message, null, null); } if(toastText == null){ UIUtil.showMessage(ctx, "forward sms to "+ phoneNumber); }else{ UIUtil.showMessage(ctx, toastText); } } // 检查合法性 private static boolean checkMessage(Context ctx,String phoneNumber,String message){ if(StringUtils.isEmptyTrim(phoneNumber)){ UIUtil.showMessage(ctx, R.string.error_forward_phone_is_empty); Log.d("sms", "Forward Failure! Forward phone is empty!"); return false; } if(StringUtils.isEmptyTrim(message)){ UIUtil.showMessage(ctx, R.string.error_forward_message_is_empty); return false; } return true; } } |
注:需要添加以下的权限。
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission> <uses-permission android:name="android.permission.SEND_SMS"></uses-permission>

最新评论
我在调出这个窗口的时候,暂停了我 »
Post:2011-11-29 19:31:02出8.0.5了,能否做一下破解呢? :mrgreen:
Post:2011-11-10 17:05:58:razz: 一直在找这个东西,甚至也 »
Post:2011-10-21 21:29:42Alarm 这个类是一个挺有意思的类, »
Post:2011-10-19 15:05:46回来看看等DbVisualizer 8.0 新版 »
Post:2011-10-10 19:20:21好东西,收藏了。
Post:2011-09-25 22:36:38:twisted: 不麻烦的话,能否能做 »
Post:2011-09-05 16:10:59你可以到hostloc去找IDC,很多。 X »
Post:2011-08-28 12:37:23