当前位置: 代码迷 >> Android >> android获取短信全部内容
  详细解决方案

android获取短信全部内容

热度:37   发布时间:2016-05-01 18:51:16.0
android获取短信所有内容
// android获取短信所有内容// 注意设置权限[添加到AndroidMainfest.xml]   <uses-permission android:name="android.permission.READ_SMS" /> 	public String getSmsInPhone()   	{   	    final String SMS_URI_ALL   = "content://sms/";     	    final String SMS_URI_INBOX = "content://sms/inbox";   	    final String SMS_URI_SEND  = "content://sms/sent";   	    final String SMS_URI_DRAFT = "content://sms/draft";   	       	    StringBuilder smsBuilder = new StringBuilder();   	       	    try{   	        ContentResolver cr = getContentResolver();   	        String[] projection = new String[]{"_id", "address", "person",    	                "body", "date", "type"};   	        Uri uri = Uri.parse(SMS_URI_ALL);   	        Cursor cur = cr.query(uri, projection, null, null, "date desc");   	  	        if (cur.moveToFirst()) {   	            String name;    	            String phoneNumber;          	            String smsbody;   	            String date;   	            String type;   	            	            int nameColumn = cur.getColumnIndex("person");   	            int phoneNumberColumn = cur.getColumnIndex("address");   	            int smsbodyColumn = cur.getColumnIndex("body");   	            int dateColumn = cur.getColumnIndex("date");   	            int typeColumn = cur.getColumnIndex("type");   	            	            do{   	                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 {   	                    type = "";   	                }   	                	                smsBuilder.append("[");   	                smsBuilder.append(name+",");   	                smsBuilder.append(phoneNumber+",");   	                smsBuilder.append(smsbody+",");   	                smsBuilder.append(date+",");   	                smsBuilder.append(type);   	                smsBuilder.append("] ");   	                	                if(smsbody == null) smsbody = "";     	            }while(cur.moveToNext());   	        } else {   	            smsBuilder.append("no result!");   	        }   	            	        smsBuilder.append("getSmsInPhone has executed!");   	    } catch(SQLiteException ex) {   	        Log.d("SQLiteException in getSmsInPhone", ex.getMessage());   	    }   	    return smsBuilder.toString();   	}  

?

  相关解决方案