歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android SMS 短信操作

Android的短信保存在短信庫裡,但並提供類似Contacts的公開的Content Provider方便操作。這裡簡單的介紹下:android中的短信信息保存在/data/data/com.android.providers.telephony/databases目錄下的sqlite庫中。常用的表有:canonical_addresses, sms, threads。對短信的操作基本也就是對這些表的CRUD。下面先看下這些表的結構,也可以使用sql查看表中的內容

  1. d:\test>adb shell  
  2. $ su  
  3. su  
  4. # cd /data/data/com.android.providers.telephony/databases  
  5. cd /data/data/com.android.providers.telephony/databases  
  6. # ls  
  7. ls  
  8. firewall.db       mmssms.db-wal     telephony.db-shm  
  9. mmssms.db         msmsms.db         telephony.db-wal  
  10. mmssms.db-shm     telephony.db      traffic.db  
  11. # sqlite3 mmssms.db  
  12. sqlite3 mmssms.db  
  13. SQLite version 3.7.2  
  14. Enter ".help" for instructions  
  15. Enter SQL statements terminated with a ";"  
  16. sqlite> .tables  
  17. .tables  
  18. addr                 pdu                  threads  
  19. android_metadata     pending_msgs         words  
  20. attachments          rate                 words_content  
  21. canonical_addresses  raw                  words_segdir  
  22. drm                  sms                  words_segments  
  23. part                 sr_pending  
  24. sqlite> .schema threads  
  25. .schema threads  
  26. CREATE TABLE threads (  
  27. _id INTEGER PRIMARY KEY,  
  28. date INTEGER DEFAULT 0,  
  29. server_date INTEGER DEFAULT 0,  
  30. message_count INTEGER DEFAULT 0,  
  31. unread_count INTEGER DEFAULT 0,  
  32. photo_id TEXT,  
  33. recipient_addresses TEXT,  
  34. recipient_names TEXT,  
  35. is_sp TEXT,  
  36. person_id TEXT,  
  37. recipient_ids TEXT,  
  38. snippet TEXT,s  
  39. nippet_cs INTEGER DEFAULT 0,  
  40. read INTEGER DEFAULT 1,  
  41. type INTEGER DEFAULT 0,  
  42. error INTEGER DEFAULT 0,  
  43. has_attachment INTEGER DEFAULT 0,  
  44. state INTEGER DEFAULT 0);  
  45. sqlite> .schema sms  
  46. .schema sms  
  47. CREATE TABLE sms (  
  48. _id INTEGER PRIMARY KEY,  
  49. thread_id INTEGER,  
  50. address TEXT,  
  51. person INTEGER,  
  52. date INTEGER,  
  53. server_date INTEGER,  
  54. protocol INTEGER,  
  55. read INTEGER DEFAULT 0,  
  56. status INTEGER DEFAULT -1,  
  57. type INTEGER,  
  58. reply_path_present INTEGER,  
  59. subject TEXT,  
  60. body TEXT,  
  61. service_center TEXT,  
  62. locked INTEGER DEFAULT 0,  
  63. error_code INTEGER DEFAULT 0,  
  64. seen INTEGER DEFAULT 0,  
  65. timed INTEGER DEFAULT 0);  

(這裡需要注意的是查看/data/data目錄下的文件需要有root權限)

Copyright © Linux教程網 All Rights Reserved