• 系统短信库的一些用法


    1、查询所有短信,按发件人进行分组

    Cursor  mCursor =
                        managedQuery(Uri.parse("content://sms"),
                            new String[] {"_id,address,date,read,status,type,body,count(address) as "
                                + "totleCount from (select _id,substr(address,4) as address,date,read,status,type,body "
                                + "from sms where address like \"+86%\" union select _id,address,date,read,status,type,body "
                                + "from sms where address not like \"+86%\") r group by r.address order by r.date desc --"},
                            null,
                            null,
                            null);

    2、删除一个联系人的所有短信会话,包括+86的号码

        /**
         * 删除一个联系人的所有短信会话,包括+86的号码
         * @param phone
         */
        public int deleteMsgSession(Context context, String phone)
        {
            String phoneBytitle = "";
            if (!phone.startsWith("+86"))
            {
                phoneBytitle = "+86" + phone;
            }
            else
            {
                    phoneBytitle = phone.substring(3);
            }
            
            Cursor cursor =
                context.getContentResolver()
                    .query(Uri.parse("content://sms"), new String[] {"distinct thread_id"}, "address = ? or address = ?", new String[] {phone, phoneBytitle}, null);
            List<String> list = new ArrayList<String>();
            if (null != cursor)
            {
                if (cursor.moveToFirst())
                {
                    do
                    {
                        int thread_id = cursor.getInt(0);
                        list.add(String.valueOf(thread_id));
    
                    } while (cursor.moveToNext());
                }
            }
             if (null != cursor)
            {
                cursor.close();
                cursor = null;
            }        
            int size = list.size();
            if(size == 0)
            {
                return -1;
            }
            else
            {
                int num = 0;
                for (int i = 0; i < size; i++)
                {
                    int res = context.getContentResolver().delete(Uri.parse("content://sms/conversations/" + list.get(i)),
                        null, null);
                    num = num + res;
                }
    //            System.out.println("sms_num:" + num);
                return num;
            }
        }

    3、向系统库插入短信、版本不同插入的字段有所区别

     /**
         * 将发送的短信保存到系统短信库中
         */
        private void foreverSendMsg(String content)
        {
            ContentValues values = new ContentValues();
            //系统SDK的版本号
            String sdkVersion = android.os.Build.VERSION.SDK;
            try
            {
                // 发送时间
                values.put("date", System.currentTimeMillis());
                // 阅读状态
                values.put("read", 1);
                // 送达号码
                values.put("address", phoneNumberTextView.getText().toString());
                // 送达内容
                values.put("body", content);
             
                //SDK为2.1时,插入的字段
                if(ConstValue.SDK_VERSION == Integer.valueOf(sdkVersion))
                {
                    values.put("status", -1);
                    values.put("type", 2);
    //                values.put("locked", 0);
                }
                else
                {
                    // 设置可见
                  values.put("seen", 1);
                }
             
                getContentResolver().insert(Uri.parse("content://sms/sent"), values);
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
            finally
            {
                values = null;
            }
  • 相关阅读:
    第二十一章流 1流的操作 简单
    第二十章友元类与嵌套类 1友元类 简单
    第十九章 19 利用私有继承来实现代码重用 简单
    第二十章友元类与嵌套类 2嵌套类 简单
    第十九章 8链表类Node 简单
    第二十一章流 3用cin输入 简单
    第十九章 10 图书 药品管理系统 简单
    第十九章 11图书 药品管理系统 简单
    第二十一章流 4文件的输入和输出 简单
    第十九章 12 什么时候使用私有继承,什么时候使用包含 简单
  • 原文地址:https://www.cnblogs.com/vus520/p/2561892.html
Copyright © 2020-2023  润新知