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

Popular posts from this blog

php - render data via PDO::FETCH_FUNC vs loop -

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

The canvas has been tainted by cross-origin data in chrome only -