How can I read inbox on Android mobile?

I want to read Sms inbox on an Android phone through an Android app. Anyone knows that

+4
source share
3 answers

Using the content converter,

Uri mSmsinboxQueryUri = Uri.parse("content://sms"); Cursor cursor1 = getContentResolver().query( mSmsinboxQueryUri, new String[] { "_id", "thread_id", "address", "person", "date", "body", "type" }, null, null, null); startManagingCursor(cursor1); String[] columns = new String[] { "address", "person", "date", "body", "type" }; if (cursor1.getCount() > 0) { String count = Integer.toString(cursor1.getCount()); Log.e("Count",count); while (cursor1.moveToNext()) { out.write("<message>"); String address = cursor1.getString(cursor1 .getColumnIndex(columns[0])); String name = cursor1.getString(cursor1 .getColumnIndex(columns[1])); String date = cursor1.getString(cursor1 .getColumnIndex(columns[2])); String msg = cursor1.getString(cursor1 .getColumnIndex(columns[3])); String type = cursor1.getString(cursor1 .getColumnIndex(columns[4])); } } 

This will read both incoming and sent items. If you want to read only incoming or sent items, you specify them in the content permission.

  Uri mSmsinboxQueryUri = Uri.parse("content://sms/inbox"); Uri mSmsinboxQueryUri = Uri.parse("content://sms/sent"); 

To read your SMS you must add use-permission in androidmanifest.xml,

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

using content

  ArrayList<String> smsList = new ArrayList<String>(); ContentResolver contentResolver = getContentResolver(); Cursor cursor = contentResolver.query( Uri.parse( "content://sms/inbox" ), null, null,null,null); int indexBody = cursor.getColumnIndex( SmsReceiver.BODY ); int indexAddr = cursor.getColumnIndex( SmsReceiver.ADDRESS ); if ( indexBody < 0 || !cursor.moveToFirst() ) return; smsList.clear(); do { String str = "Sender: " + cursor.getString( indexAddr ) + "\n" + cursor.getString( indexBody ); smsList.add( str ); } while( cursor.moveToNext() ); 

User permission in AndroidManifest.xml

  <uses-permission android:name="android.permission.READ_SMS" /> 
+2
source
 Cursor c = getContentResolver().query(Uri.parse("content://sms/inbox"),null,null,null, null); startManagingCursor(c); int smsEntriesCount = c.getCount(); String[] body = new String[smsEntriesCount]; String[] number = new String[smsEntriesCount]; if (c.moveToFirst()) { for (int i = 0; i < smsEntriesCount; i++) { body[i] = c.getString(c.getColumnIndexOrThrow("body")).toString(); number[i] = c.getString(c.getColumnIndexOrThrow("address")).toString(); c.moveToNext(); } } c.close(); 

you also need permission. include the following line in menifest.xml

 <uses-permission name="android.permission.READ_SMS" /> 
+1
source

Source: https://habr.com/ru/post/1346660/


All Articles