短信修改器核心代码
2016-05-03 14:40
966 查看
1.URL
2.获取短信
3.修改短信
4.权限
5.示例代码,请下载http://download.csdn.net/detail/drothy_qin/9508824
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
相关文章推荐
- MATLAB的iptchecknargin函数详解!
- Spring中@Autowired注解、@Resource注解的区别
- Mac下打开eclipse 始终提示 你需要安装Java SE 6 Runtime
- Java中静态变量、静态代码块、非静态代码块以及静态方法的加载顺序
- How To Install and Secure phpMyAdmin on Ubuntu 12.04(MySQL图形管理)
- 快速高效学习Java编程在线资源Top 20
- Java异常总结
- 学习:java原理—反射机制
- 第一个Java程序,你好java世界
- SSH中发生异常java.lang.IllegalStateException: getOutputStream() has already been called for this response
- java中关于类的封装与继承,this、super关键字的使用
- 关于Hibernate与spring集成更新无效的分析
- spring Test 整合Junit4 使用总结
- java String首字母大写
- Qt5-MSVC2012-qDebug中文乱码解决方法
- IO编程
- C++;每周一些题(1)
- Mac下配置Caffe的Python接口
- ADT Plugin for eclipse 最新下载地址(2015年10月)
- java nio示例