Friday, 1 January 2016

Get Inbox messages from android device


   Here I am going to explain how to get list of messages from android

  Step 1)

       Uri uri = Uri.parse("content://sms");
        Cursor cursor = getContentResolver().query(uri, null, null, null, null);
        String body="",number="",date,type;
        Date  smsDayTime=null;
        String typeOfSMS = null;
        if (cursor.moveToFirst()) {
            for (int i = 0; i < cursor.getCount(); i++) {
                 body = cursor.getString
                             (cursor.getColumnIndexOrThrow("body")).toString();
                        
                 number=cursor.getString
                             (cursor.getColumnIndexOrThrow("address")) .toString();

                       
                 date = cursor.getString(cursor.getColumnIndexOrThrow("date"))
                                                                                              .toString();
                 smsDayTime = new Date(Long.valueOf(date));
                 type = cursor.getString(cursor.getColumnIndexOrThrow("type"))
                        .toString();

                switch (Integer.parseInt(type)) {
                    case 1:
                        typeOfSMS = "INBOX";
                        break;

                    case 2:
                        typeOfSMS = "SENT";
                        break;

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


               
                Log.e("time",msDayTime.toString());
                Log.e("number",number);
                Log.e("type",typeOfSMS);
                Log.e("body",body);
               
                cursor.moveToNext();

            }



        }


        cursor.close();

    }


Step 2)Add SMS permission to your manifest file.

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


Happy coding :)