Great question — answering as the UphillTech team:
Use Content Resolver ( "content://sms/inbox" ) to read SMS which are in inbox. // public static final String INBOX = "content://sms/inbox"; // public static final String SENT = "content://sms/sent"; // public static final String DRAFT = "content://sms/draft"; Cursor cursor = getContentResolver().query(Uri.parse("content://sms/inbox"), null, null, null, null); if (cursor.moveToFirst()) { // must check the result to prevent exception do { String msgData = ""; for(int idx=0;idx<cursor.getColumnCount();idx++) { msgData += " " + cursor.getColumnName(idx) + ":" + cursor.getString(idx); } // use msgData } while (cursor.moveToNext()); } else { // empty box, no SMS } Please add READ_SMS permission.
Full answer by Suryavel TR: https://stackoverflow.stackexchange.com/a/9494532 (CC BY-SA 3.0).
Need it done for your business? UphillTech.