java - How to Fetch Owner Mobile number from SMS Inbox/Sent -
i have tried retrieve information sms inbox/outbox of device. mobile number i.e. sender's mobile number not seem stored. trying number can capture mobile number outbox , allow user use register on app, considering near accurate mobile number user using on device. don't have type mobile in app registration.
please let me know if there way find mobile number sms inbox/sent
code here:
public void readsms (activity mainactivity) { uri insmsuri = uri.parse ("content://sms/inbox"); system.out.println ( "the uri :: " + insmsuri); cursor c = mainactivity.getcontentresolver().query(insmsuri, null, null, null, "date desc"); if (c!= null) { stringbuilder sb = new stringbuilder (); while (c.movetonext ()) { system.out.println ("content:" + c.getstring (c.getcolumnindex ("body"))); for(int i=0; i<c.getcolumncount();i++) { system.out.println("sms:inbox: c getcolumnname(i):: "+c.getcolumnname(i) + " c.getstring(i):: "+c.getstring(i)); } } c.close (); uri outsmsuri = uri.parse ("content://sms/sent"); c = mainactivity.getcontentresolver().query(outsmsuri, null, null, null, "date desc"); if (c!= null) { while (c.movetonext ()) { system.out.println ("content:" + c.getstring (c.getcolumnindex ("body"))); for(int i=0; i<c.getcolumncount();i++) { system.out.println("sms:sent: c getcolumnname(i):: "+c.getcolumnname(i) + " c.getstring(i):: "+c.getstring(i)); } } } } }
but sender mobile number column not found:
sms inbox generating output:
content:hello! roaming on vodafone maharashtra sms:inbox: c getcolumnname(i):: _id c.getstring(i):: 9 sms:inbox: c getcolumnname(i):: thread_id c.getstring(i):: 3 sms:inbox: c getcolumnname(i):: address c.getstring(i):: vm-vdfone sms:inbox: c getcolumnname(i):: m_size c.getstring(i):: 297 sms:inbox: c getcolumnname(i):: person c.getstring(i):: 0 sms:inbox: c getcolumnname(i):: date c.getstring(i):: 1381599923412 sms:inbox: c getcolumnname(i):: date_sent c.getstring(i):: 1381599913000 sms:inbox: c getcolumnname(i):: protocol c.getstring(i):: 0 sms:inbox: c getcolumnname(i):: read c.getstring(i):: 1 sms:inbox: c getcolumnname(i):: status c.getstring(i):: -1 sms:inbox: c getcolumnname(i):: type c.getstring(i):: 1 sms:inbox: c getcolumnname(i):: reply_path_present c.getstring(i):: 0 sms:inbox: c getcolumnname(i):: subject c.getstring(i):: null sms:inbox: c getcolumnname(i):: body c.getstring(i):: hello! roaming on vodafone maharashtra sms:inbox: c getcolumnname(i):: service_center c.getstring(i):: +919820005556 sms:inbox: c getcolumnname(i):: locked c.getstring(i):: 0 sms:inbox: c getcolumnname(i):: sim_id c.getstring(i):: 1 sms:inbox: c getcolumnname(i):: error_code c.getstring(i):: 0 sms:inbox: c getcolumnname(i):: seen c.getstring(i):: 1 sms:inbox: c getcolumnname(i):: ipmsg_id c.getstring(i):: 0 sender mobile number column not found: sms:sent: c getcolumnname(i):: _id c.getstring(i):: 1783 sms:sent: c getcolumnname(i):: thread_id c.getstring(i):: 26 sms:sent: c getcolumnname(i):: address c.getstring(i):: 1909 sms:sent: c getcolumnname(i):: m_size c.getstring(i):: null sms:sent: c getcolumnname(i):: person c.getstring(i):: 0 sms:sent: c getcolumnname(i):: date c.getstring(i):: 1394009796560 sms:sent: c getcolumnname(i):: error_code c.getstring(i):: 0 sms:sent: c getcolumnname(i):: seen c.getstring(i):: 1 sms:sent: c getcolumnname(i):: ipmsg_id c.getstring(i):: 0 sms:sent: c getcolumnname(i):: m_size c.getstring(i):: 21 sms:sent: c getcolumnname(i):: person c.getstring(i):: 0 sms:sent: c getcolumnname(i):: date c.getstring(i):: 1392004530098 sms:sent: c getcolumnname(i):: date_sent c.getstring(i):: 0 sms:sent: c getcolumnname(i):: protocol c.getstring(i):: null sms:sent: c getcolumnname(i):: read c.getstring(i):: 1 sms:sent: c getcolumnname(i):: status c.getstring(i):: -1 sms:sent: c getcolumnname(i):: type c.getstring(i):: 2 sms:sent: c getcolumnname(i):: reply_path_present c.getstring(i):: null sms:sent: c getcolumnname(i):: subject c.getstring(i):: null sms:sent: c getcolumnname(i):: body c.getstring(i):: take care sms:sent: c getcolumnname(i):: service_center c.getstring(i):: null sms:sent: c getcolumnname(i):: locked c.getstring(i):: 0 sms:sent: c getcolumnname(i):: sim_id c.getstring(i):: 1 sms:sent: c getcolumnname(i):: error_code c.getstring(i):: 0 sms:sent: c getcolumnname(i):: ipmsg_id c.getstring(i):: 0
content://
has not worked me in past. seems changes based on phone person using.
i use phone number of user:
telephonymanager tmgr = (telephonymanager) this.getsystemservice(context.telephony_service); ownerphonenumber = tmgr.getline1number();
if need way though, use:
uri uri = uri.parse("content://sms/"); cursor cursor = contentresolver.query(uri, null, null, null, null); cursor.movetofirst(); string type = cursor.getstring(cursor.getcolumnindex("type")); if (type.equals("2")) { //an outgoing sms sent. }
you can grab phone number using cursor.getstring(cursor.getcolumnindex(""))
(although forgot column goes inside there phone number. can try loop did above see values receive.
Comments
Post a Comment