The following steps :
1. Prepare new project
2. Add this widget to activity_main.xml Listvew. (See code below)
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >3. How to access sms inbox, retrieve and display the listview. Code is contained on MainActivity.java
<ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView>
</LinearLayout>
MainActivity.java
package com.read.inbox.sms;4. Add user-permission in AndroidManifest.xml below
import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.database.Cursor;import android.util.Log;import android.view.Menu;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.Toast;
public class MainActivity extends Activity { String[] m = { "" }; ListView lv; String pesanTerpilih;
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.listView1);
Uri uriSMSURI = Uri.parse("content://sms/inbox"); Cursor cur = getContentResolver().query(uriSMSURI, null, null, null,
null);
m = new String[cur.getCount()]; int g = 0; while (cur.moveToNext()) { m[g++] = cur.getString(11); Log.i("from :", cur.getString(2)); Log.i("isi pesan :", cur.getString(11));
}
ArrayAdapter<String> a = new ArrayAdapter<String>( getApplicationContext(),
android.R.layout.simple_dropdown_item_1line, m); lv.setAdapter(a); lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) { // TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), m[arg2],
Toast.LENGTH_SHORT).show(); pesanTerpilih = m[arg2]; } });
}
@Override
public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; }
}
<uses-permission android:name="android.permission.READ_SMS"/> <uses-permission android:name="android.permission.READ_LOGS"/>