2011-05-04 101 views
4

我通過SmsManager API發送短信如下:通過SmsManager發送的短信不會在SENT文件夾中自動發送?

PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, new Intent("SMS_SENT"), 0); 
PendingIntent deliveredPI = PendingIntent.getBroadcast(context, 0, new Intent("SMS_DELIVERED"), 0); 
SmsManager smsManager = SmsManager.getDefault(); 
smsManager.sendTextMessage(phone, null, formattedMessage, sentPI, deliveredPI); 

我收到收件箱中的短信,但發來的短信不會出現在發送的文件夾 - 所以目前我通過手動添加:

// store the sent sms in the sent folder (that shouldn't be necessary?!) 
ContentValues values = new ContentValues(); 
values.put("address", phone); 
values.put("body", formattedMessage); 
context.getContentResolver().insert(Uri.parse("content://sms/sent"), values); 

但我很好奇,如果這是真正必要的和正確的方式來做到這一點。我想知道,爲什麼通過短信管理器發送的消息不會自動出現在SENT文件夾中。這是手動添加它的正確方法嗎?

(我可能應該將手動保存程序掛在廣播接收器上,所以我只在交付成功時才存儲它 - 但這不是問題的一部分)。

我在Android的google羣上發現了這個帖子,但這真的是唯一的出路嗎?

http://groups.google.com/group/android-developers/browse_thread/thread/a3c581689d0db6e1/a1acf6d990ecce52?lnk=gst&q=sms+sent#a1acf6d990ecce52

回答