zoukankan      html  css  js  c++  java
  • 系统短信库的一些用法

    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;
            }
  • 相关阅读:
    C# 不用添加WebService引用,调用WebService方法
    贪心 & 动态规划
    trie树 讲解 (转载)
    poj 2151 Check the difficulty of problems (检查问题的难度)
    poj 2513 Colored Sticks 彩色棒
    poj1442 Black Box 栈和优先队列
    啦啦啦
    poj 1265 Area(pick定理)
    poj 2418 Hardwood Species (trie树)
    poj 1836 Alignment 排队
  • 原文地址:https://www.cnblogs.com/vus520/p/2561892.html
Copyright © 2011-2022 走看看