Android : Track outgoing messages in Mobile Phone

Track outgoing messages in Android mobile phone:

1.Register a ContetObserver with content://sms/

public class SendSMSservice extends Service
{
private SMSObserver smsObserver=null;
@Override
public void onCreate() {
 smsObserver = new SMSObserver(new Handler());
// REGISTER ContetObserver
this.getContentResolver().
registerContentObserver(Uri.parse("content://sms/"), true, smsObserver);
}
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onDestroy() {
super.onDestroy();
getContentResolver().unregisterContentObserver(smsObserver);
}
}

2. Send SMS observer class:

public class SMSObserver extends ContentObserver {
private Handler mHandler = null;
public SMSObserver(Handler handler){
super(handler);
mHandler = handler;
}
@Override
public void onChange(boolean selfChange) {
super.onChange(bSelfChange);
Uri uriSMSURI = Uri.parse("content://sms");
Cursor cur = this.getContentResolver().query(uriSMSURI, null, null,
null, null);
cur.moveToNext();
String protocol = cur.getString(cur.getColumnIndex("protocol"));
if(protocol == null) {
int type=cur.getInt(cur.getColumnIndex(“”));
if(type==2)
{
//send messge detected
}
else
{
//Recieve message detected
}
else {
//the message is received now
}
}
}
}

 

0 comments: