我是靠谱客的博主 纯情老鼠,最近开发中收集的这篇文章主要介绍短信发送的构造,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


这是我之前代码,没有存入到相应的发信箱中


PendingIntent pIntent = PendingIntent.getBroadcast(MmsWriteActivity.this,
                                                        0, new Intent(), 0);
                                    
                                    SmsManager manage=SmsManager.getDefault();  
                                        List<String> all=manage.divideMessage(content);  
                                        Iterator<String> it=all.iterator();
                                        while(it.hasNext()){
                                                manage.sendTextMessage(phonenum, null, it.next(), pIntent, null);  
                                        }
                                        
                                        ContentValues values = new ContentValues(6);
                                        values.put(Sms.THREAD_ID, getOrCreateThreadId(new String[]{phonenum}));
                                    values.put(Sms.BODY,  content);
                    values.put("read", Integer.valueOf(0));
                                    values.put(Sms.TYPE, Sms.MESSAGE_TYPE_OUTBOX);
                                    values.put(Sms.DATE, System.currentTimeMillis());
                                    values.put(Sms.ADDRESS, phonenum);        
                                    SqliteWrapper.insert(MmsWriteActivity.this, getContentResolver(),  Sms.CONTENT_URI,
                                                    values);
                                    
                                    
                                    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MmsWriteActivity.this);
                                     boolean requestDeliveryReport = prefs.getBoolean(
                                       "pref_key_sms_delivery_reports",
                                        DEFAULT_DELIVERY_REPORT_MODE);
                                     try {
                               Sms.Outbox.addMessage(getContentResolver(), phonenum,
                                               content, null, System.currentTimeMillis(), requestDeliveryReport,  getOrCreateThreadId(new String[]{phonenum}));
                         } catch (SQLiteException e) {
                         }


后来在AlreadySendListActivity中发现它的查询条件后修改为如下就可以了,有关短信的插入数据


ContentValues values = new ContentValues(6);
values.put(Sms.THREAD_ID, getOrCreateThreadId(new String[]{phonenum}));
    values.put(Sms.BODY,  content);
                    values.put("read", Integer.valueOf(1));
    values.put(Sms.TYPE, Sms.MESSAGE_TYPE_SENT);
    values.put(Sms.DATE, System.currentTimeMillis());
    values.put(Sms.ADDRESS, phonenum);
    SqliteWrapper.insert(MmsWriteActivity.this, getContentResolver(),  Sms.Sent.CONTENT_URI,
    values);
      SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MmsWriteActivity.this);
    boolean requestDeliveryReport = prefs.getBoolean(
                      "pref_key_sms_delivery_reports",
                       DEFAULT_DELIVERY_REPORT_MODE);
    try {
    Sms.Sent.addMessage(getContentResolver(), phonenum, content, null, System.currentTimeMillis());
                } catch (SQLiteException e) {
                Log.d(TAG,"" + e);
                }



从上面我们可以看出两个问题,就是out到sent中间是有条件的,当它确认的确没欠费发送成功才会把out的中的短信移动到sent中。

最后

以上就是纯情老鼠为你收集整理的短信发送的构造的全部内容,希望文章能够帮你解决短信发送的构造所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部