How many database columns associated with a SMS in android?

Vikas Patidar picture Vikas Patidar · Oct 26, 2010 · Viewed 26.4k times · Source

I want to read all the messages and their respective details from my phone. For this I am using the Uri like this:

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

But I don't know how many columns in database which are associated with this uri.

I want to display the following information:

  1. Message Type
  2. Sender Number
  3. Message Body
  4. Timestamp

Please can anybody enumerate the total column names?

Answer

Vikas Patidar picture Vikas Patidar · Oct 26, 2010

package com.readsms;

import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;

public class ReadSMS extends Activity 
{
    private static final String tag = "Whozzat";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Uri sms = Uri.parse("content://sms/inbox");
        ContentResolver cr = this.getContentResolver();
        Cursor c = cr.query(sms, null, null, null, null);
        for (int i = 0; i < c.getColumnCount(); i++)
        {
            Log.v(tag, c.getColumnName(i).toString());
        }
        c.close();
    }
}

after running this code snippet I have got the following columns:

alt text