短信修改器核心代码

1.URL

private final String SMS_URI_ALL   = "content://sms/";        
    private final String SMS_URI_INBOX = "content://sms/inbox";      
    private final String SMS_URI_SEND  = "content://sms/sent";      
    private final String SMS_URI_DRAFT = "content://sms/draft"; 

2.获取短信

 /* 
     * 获取指定类型短信 
     */  
    public List<Map<String, Object>> getSmsInPhone()      
    {      
        try{      
            ContentResolver cr = getContentResolver();      
            String[] projection = new String[]{"_id", "address", "person",       
                    "body", "date", "type"};      
            Uri uri = Uri.parse(url);      
            Cursor cur = cr.query(uri, projection, null, null, "date desc");      

            if (cur.moveToFirst()) {  
                long id;  
                String name;       
                String phoneNumber;             
                String smsbody;      
                String date;      
                String type;      

                int idColumn = cur.getColumnIndex(StaticValues._ID);  
                int nameColumn = cur.getColumnIndex(StaticValues.PERSON);      
                int phoneNumberColumn = cur.getColumnIndex(StaticValues.ADDRESS);      
                int smsbodyColumn = cur.getColumnIndex(StaticValues.BODY);      
                int dateColumn = cur.getColumnIndex(StaticValues.DATE);      
                int typeColumn = cur.getColumnIndex(StaticValues.TYPE);      

                do{   
                    id = cur.getLong(idColumn);  
                    name = cur.getString(nameColumn);                   
                    phoneNumber = cur.getString(phoneNumberColumn);      
                    smsbody = cur.getString(smsbodyColumn);      

                    SimpleDateFormat dateFormat = new SimpleDateFormat(      
                            "yyyy-MM-dd hh:mm:ss");      
                    Date d = new Date(Long.parseLong(cur.getString(dateColumn)));      
                    date = dateFormat.format(d);      

                    int typeId = cur.getInt(typeColumn);      
                    if(typeId == 1){      
                        type = "接收";      
                    } else if(typeId == 2){      
                        type = "发送";      
                    }else if(typeId == 3){      
                        type = "草稿";      
                    } else {      
                        type = "";      
                    }  
                    if(smsbody == null)   
                        smsbody = "";  
                    Map<String, Object> map = new HashMap<String, Object>();  
                    map.put(StaticValues._ID, id);  
                    map.put(StaticValues.PERSON, name);  
                    map.put(StaticValues.ADDRESS, phoneNumber);  
                    map.put(StaticValues.BODY, smsbody);  
                    map.put(StaticValues.DATE, date);  
                    map.put(StaticValues.TYPE, type);  
                    list.add(map);  
                }while(cur.moveToNext());    
                cur.close();  
            }     
        } catch(SQLiteException ex) {      
            Log.d("SQLiteException in getSmsInPhone", ex.getMessage());      
        }      
        return list;      
    }     

3.修改短信

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
                try {
                    date = sdf.parse(editText4.getText().toString());
                } catch (ParseException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } 

                cv.put(StaticValues.BODY, editText3.getText().toString());  
                cv.put(StaticValues.DATE, date.getTime());  
                context.getContentResolver().update(Uri.parse(SMS.url),   
                        cv, StaticValues._ID + "=?", new String[]{id+""});

4.权限

 <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.WRITE_SMS" />

5.示例代码,请下载http://download.csdn.net/detail/drothy_qin/9508824

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值