Thursday, 19 March 2015

Android Get SMS History

Android Get SMS History

Hello all here is code for getting SMS history just use this method.

 private void getSMSDetails() {
              StringBuffer stringBuffer = new StringBuffer();
              
              Uri uri = Uri.parse("content://sms");
              Cursor cursor = getContentResolver().query(uri, nullnullnullnull);

              if (cursor.moveToFirst()) {
                     for (int i = 0; i < cursor.getCount(); i++) {
                           String body = cursor.getString(cursor.getColumnIndexOrThrow("body"))
                                         .toString();
                           String number = cursor.getString(cursor.getColumnIndexOrThrow("address"))
                                         .toString();
                           String date = cursor.getString(cursor.getColumnIndexOrThrow("date"))
                                         .toString();
                           Date smsDayTime = new Date(Long.valueOf(date));
                           String type = cursor.getString(cursor.getColumnIndexOrThrow("type"))
                                         .toString();
                           String typeOfSMS = null;
                           switch (Integer.parseInt(type)) {
                           case 1:
                                  typeOfSMS = "INBOX";
                                  break;

                           case 2:
                                  typeOfSMS = "SENT";
                                  break;

                           case 3:
                                  typeOfSMS = "DRAFT";
                                  break;
                           }

                           stringBuffer.append("\nPhone Number:--- " + number + " \nMessage Type:--- "
                                         + typeOfSMS + " \nMessage Date:--- " + smsDayTime
                                         + " \nMessage Body:--- " + body);
                           stringBuffer.append("\n----------------------------------");
                           cursor.moveToNext();
                     }
                     textView.setText(stringBuffer);
              }
              cursor.close();
       }