• 系统短信库的一些用法


    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;
            }
  • 相关阅读:
    Linux安装配置tomcat
    linux 安装jdk
    让/etc/profile文件修改后立即生效
    group by 和聚合函数
    mysql插入日期 vs oracle插入日期
    Thinkphp学习笔记-删除缓存
    Thinkphp错误-phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连
    Thinkphp学习笔记-模板赋值
    Thinkphp学习笔记-模板主题
    Windows-设置系统服务不开机启动
  • 原文地址:https://www.cnblogs.com/vus520/p/2561892.html
Copyright © 2020-2023  润新知