From 94ce9bfffd8b447147e6029b6c3430f74c1f1b6e Mon Sep 17 00:00:00 2001 From: Jens Date: Thu, 16 Sep 2021 22:50:34 +0200 Subject: [PATCH] Works --- .../de/server47/smsexport/MainActivity.java | 46 ++++++++++++++++--- app/src/main/res/layout/main_activity.xml | 4 +- 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/de/server47/smsexport/MainActivity.java b/app/src/main/java/de/server47/smsexport/MainActivity.java index 3f2141d..4500f4b 100644 --- a/app/src/main/java/de/server47/smsexport/MainActivity.java +++ b/app/src/main/java/de/server47/smsexport/MainActivity.java @@ -10,10 +10,17 @@ import android.widget.Button; import androidx.annotation.Nullable; +import java.util.HashMap; +import java.util.Map; + public class MainActivity extends Activity { Button bRead; + final static int typeSMS = 0; + final static int typeMMS = 1; + final static int typeICS = 2; + @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -27,29 +34,54 @@ public class MainActivity extends Activity @Override public void onClick(View v) { - readMessage(); + readMessages(typeICS); } }); } - void readMessage() + void readMessages(int messageType) { // 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); + + Uri path = null; + + switch (messageType) + { + case typeSMS: + path = Uri.parse("content://sms/inbox"); + break; + case typeMMS: + path = Uri.parse("content://mms/inbox"); + break; + case typeICS: + path = Uri.parse("content://im/chat"); + break; + default: + path = Uri.parse("content://sms/inbox"); + break; + } + + Cursor cursor = getContentResolver().query(path, null, null, null, null); if (cursor.moveToFirst()) { // must check the result to prevent exception + long messageCounter = 0; do { - String msgData; - for(int idx=0; idx messageMap = new HashMap(); + for(int i=0; i < cursor.getColumnCount(); i++) { - msgData = " " + cursor.getColumnName(idx) + ":" + cursor.getString(idx); - Log.i("message", msgData); + messageMap.put(cursor.getColumnName(i), cursor.getString(i)); + message += cursor.getColumnName(i) + ": " + cursor.getString(i) + ", "; +// Log.i("message", msgData); } + Log.i("Message", "Message nr. " + messageCounter + " " + message); + // use msgData } while (cursor.moveToNext()); diff --git a/app/src/main/res/layout/main_activity.xml b/app/src/main/res/layout/main_activity.xml index b528bbe..ea41b9e 100644 --- a/app/src/main/res/layout/main_activity.xml +++ b/app/src/main/res/layout/main_activity.xml @@ -1,12 +1,14 @@ + android:layout_height="match_parent" + android:gravity="center_horizontal">