Hello Friends,
This is a very simple demo application for Reading SMS log from Android phone. All codes are below copy paste and enjoy:)
Thanks!
This is a very simple demo application for Reading SMS log from Android phone. All codes are below copy paste and enjoy:)
1)MainActivity.java
package
com.manish.smshistory;
import java.util.Date;
import
android.app.Activity;
import
android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import
android.widget.TextView;
/**
*
* @author manish
*
*/
public class MainActivity extends Activity {
TextView
textView;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView)
findViewById(R.id.textview);
getSMSDetails();
}
private void getSMSDetails() {
StringBuffer
stringBuffer = new StringBuffer();
stringBuffer.append("*********SMS
History*************** :");
Uri
uri = Uri.parse("content://sms");
Cursor
cursor = getContentResolver().query(uri, null, null, null, null);
if
(cursor.moveToFirst()) {
for (int i = 0; i <
cursor.getCount(); i++) {
String
body = cursor.getString(cursor.getColumnIndexOrThrow("body"))
.toString();
String
number = cursor.getString(cursor.getColumnIndexOrThrow("address"))
.toString();
String
date = cursor.getString(cursor.getColumnIndexOrThrow("date"))
.toString();
Date
smsDayTime = new Date(Long.valueOf(date));
String
type = cursor.getString(cursor.getColumnIndexOrThrow("type"))
.toString();
String
typeOfSMS = null;
switch (Integer.parseInt(type))
{
case 1:
typeOfSMS
= "INBOX";
break;
case 2:
typeOfSMS
= "SENT";
break;
case 3:
typeOfSMS
= "DRAFT";
break;
}
stringBuffer.append("\nPhone
Number:--- " + number + " \nMessage Type:--- "
+
typeOfSMS + " \nMessage Date:--- " + smsDayTime
+
"
\nMessage Body:--- " + body);
stringBuffer.append("\n----------------------------------");
cursor.moveToNext();
}
textView.setText(stringBuffer);
}
cursor.close();
}
}
2)activity_main.xml
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_margin="10dp"
android:layout_height="wrap_content" />
</ScrollView>
3)manifest.xml
<?xml version="1.0"
encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.manish.smshistory"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.READ_SMS"
/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.manish.smshistory.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN"
/>
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
</manifest>