i want store messages sqlite
database when receive. know have use broadcastreceiver
this. don't know how this. possible store incoming sms database when onreceive()
called?
please me.
yes can store messages sqlite database.
this onreceive() method code :-
@override public void onreceive(context context, intent intent) { //—get sms message passed in— bundle bundle = intent.getextras(); smsmessage[] msgs = null; string messages = ""; if (bundle != null) { //—retrieve sms message received— object[] smsextra = (object[]) bundle.get("pdus"); msgs = new smsmessage[smsextra.length]; (int = 0; < msgs.length; i++) { smsmessage sms = smsmessage.createfrompdu((byte[]) smsextra[i]); //take out content sms string body = sms.getmessagebody().tostring(); string address = sms.getoriginatingaddress(); messages += "sms from" + address + ":\n"; messages += body + "\n"; putsmstodatabase(sms, context); } //—display new sms message— toast.maketext(context, messages, toast.length_short).show(); } } private void putsmstodatabase(smsmessage sms, context context) { databasehelper databasehelper = new databasehelper(context); sqlitedatabase db = databasehelper.getwritabledatabase(); string mydate = java.text.dateformat.getdatetimeinstance().format(calendar.getinstance().gettime()); // create sms row contentvalues values = new contentvalues(); values.put("address", sms.getoriginatingaddress().tostring()); values.put("date", mydate); values.put("body", sms.getmessagebody().tostring()); // values.put( read, message_is_not_read ); // values.put( status, sms.getstatus() ); // values.put( type, message_type_inbox ); // values.put( seen, message_is_not_seen ); db.insert("datatable", null, values); db.close(); }
and full tutorial :-
hope :)
Comments
Post a Comment