之前,有一片关于短信发送的文章,不过那篇文章所提到的方法,是不会把短信存放到发件箱中的。
介于有些时候需要存入,那么我把相关的代码写出来;只要把这几句加入方法中,再加上需要的权限,那么短信发出去后,发件箱就有所发短信内容了。
PS:之前写了一篇章关于发送短信存入发件箱的文章
文章链接:http://blog.youkuaiyun.com/etzmico/article/details/6874775
资源链接:http://download.youkuaiyun.com/detail/etzmico/3715837
代码如下:
ContentValues values = new ContentValues();
values.put("address", telNumStr);
values.put("body", messageStr);
getContentResolver().insert(
Uri.parse("content://sms/sent"), values);
把这些加入发短信代码的try就可以了。
接下来是权限。
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
两个权限,缺一不可。
下面把发短信的完整代码粘过来,以便对照。
SmsManager smsMgr = SmsManager.getDefault();
Intent i = new Intent("cn.etzmico.smssending");
PendingIntent dummyEvent = PendingIntent.getBroadcast(
SMSSending.this, 0, i, 0);
try {
smsMgr.sendTextMessage(telNumStr, null, messageStr,
dummyEvent, dummyEvent);
ContentValues values = new ContentValues();
values.put("address", telNumStr);
values.put("body", messageStr);
getContentResolver().insert(
Uri.parse("content://sms/sent"), values);
} catch (Exception e) {
Log.e("SmsSending", "SendException", e);
}