• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 224  文章 - 41  trackbacks - 0
            <2008年11月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            享受編程

            常用鏈接

            留言簿(11)

            隨筆分類(159)

            隨筆檔案(224)

            文章分類(2)

            文章檔案(4)

            經典c++博客

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            原文地址:http://hi.baidu.com/miuchen/blog/item/d5313b34bf35b887a61e1288.html

            import android.app.Activity;
            import android.content.ContentValues;
            import android.database.ContentObserver;
            import android.database.Cursor;
            import android.database.sqlite.SQLiteException;
            import android.net.Uri;
            import android.os.Bundle;
            import android.os.Handler;
            import android.util.Log;
            import android.widget.TextView;

            public class mini extends Activity {
            /** Called when the activity is first created. */
            private static final String LOG_TAG = "Sms Query";

            //入口是onCreate
            @Override
            public void onCreate(Bundle savedInstanceState) {
               
            // super.onCreate(savedInstanceState);
               
            // setContentView(R.layout.main);
               super.onCreate(savedInstanceState); 
               TextView tv 
            = new TextView(this);

               tv.setText(
            "Hello, Android");
              
               tv.setText(getSmsAndSendBack());
                
               setContentView(tv);
            }

            /**
            * 讀取短信
            @return
            */

            public String getSmsAndSendBack()
            {
               String[] projection 
            = new String[] {
                 
            "_id",
                 
            "address",
                 
            "person",
                 
            "body"
                }
            ;
               StringBuilder str
            =new StringBuilder();
               
            try{
                Cursor myCursor 
            = managedQuery(Uri.parse("content://sms/inbox"),
                  projection,
                  
            nullnull , "date desc");
                str.append(processResults(myCursor, 
            true));  
                str.append(
            "getContactsAndSendBack has executed!");
            /*    myCursor = managedQuery(Uri.parse("content://sms/inbox"),
                  new String[] { "_id", "address", "read" },
                  " address=? and read=?",
                  new String[] { "12345678901", "0" }, "date desc");
            */

               
               }

               
            catch (SQLiteException ex)
               
            {
                Log.d(LOG_TAG, ex.getMessage());
               }

               
            return str.toString();
            }

            /**
            * 處理短信結果
            @param cur
            @param all 用來判斷是讀一條還是全部讀。后來沒有用all,可以無視
            */

            private StringBuilder processResults(Cursor cur, boolean all) {
               
            // TODO Auto-generated method stub
               StringBuilder str=new StringBuilder();
               
            if (cur.moveToFirst()) {

                     String name; 
                     String phoneNumber;       
                     String sms;
                     
                     
                     
            int nameColumn = cur.getColumnIndex("person");
                     
            int phoneColumn = cur.getColumnIndex("address");
                     
            int smsColumn = cur.getColumnIndex("body");
                     
                     
            do {
                         
            // Get the field values
                         name = cur.getString(nameColumn);             
                         phoneNumber 
            = cur.getString(phoneColumn);
                         sms 
            = cur.getString(smsColumn);
                         
                         str.append(
            "{");
                         str.append(name
            +",");
                         str.append(phoneNumber
            +",");
                         str.append(sms);
                         str.append(
            "}");
                         

                         
                         
            if (null==sms)
                         sms
            ="";
                         
                         
            /*             if (all)
                         mView.loadUrl("javascript:navigator.SmsManager.droidAddContact('" + name + "','" + phoneNumber + "','" + sms +"')");             
                         else
                         mView.loadUrl("javascript:navigator.sms.droidFoundContact('" + name + "','" + phoneNumber + "','" + sms +"')");
            */

                                      
                     }
             while (cur.moveToNext());
            /*         if (all)
                     mView.loadUrl("javascript:navigator.SmsManager.droidDone()");
                     else
                     mView.loadUrl("javascript:navigator.sms.droidDone();");
            */

                 }

                 
            else
                 
            {
                 str.append(
            "no result!");
            /*     if(all)
                    mView.loadUrl("javascript:navigator.SmsManager.fail()");
                 else
                    mView.loadUrl("javascript:navigator.sms.fail('None found!')");
            */

                 }


               
            return str;
            }
            //processResults
            }



            記得在AndroidManifest.xml中加入android.permission.READ_SMS這個permission

            <uses-permission android:name="android.permission.READ_SMS" />

            另外附加兩個我找到的好文章:

            http://www.javaeye.com/topic/568260

            http://yidianfengfan.javaeye.com/blog/610744

            Java代碼
            1. public final static String SMS_URI_ALL =  "content://sms/"; //0  
            2. public final static String SMS_URI_INBOX = "content://sms/inbox";//1  
            3. public final static String SMS_URI_SEND = "content://sms/sent";//2  
            4. public final static String SMS_URI_DRAFT = "content://sms/draft";//3  
            5. public final static String SMS_URI_OUTBOX = "content://sms/outbox";//4  
            6. public final static String SMS_URI_FAILED = "content://sms/failed";//5  
            7. public final static String SMS_URI_QUEUED = "content://sms/queued";//6  
            sms主要結構:
            1. _id => 短消息序號 如100  
            2. thread_id => 對話的序號 如100  
            3. address => 發件人地址,手機號.如+8613811810000  
            4. person => 發件人,返回一個數字就是聯系人列表里的序號,陌生人為null  
            5. date => 日期  long型。如1256539465022  
            6. protocol => 協議 0 SMS_RPOTO, 1 MMS_PROTO   
            7. read => 是否閱讀 0未讀, 1已讀   
            8. status => 狀態 -1接收,0 complete, 64 pending, 128 failed   
            9. type => 類型 1是接收到的,2是已發出   
            10. body => 短消息內容   
            11. service_center => 短信服務中心號碼編號。如+8613800755500  

            記得在AndroidManifest.xml中加入android.permission.READ_SMS這個permission

            <uses-permission android:name="android.permission.READ_SMS" />

            另外附加兩個我找到的好文章:

            http://www.javaeye.com/topic/568260

            http://yidianfengfan.javaeye.com/blog/610744

            Java代碼
            1. public final static String SMS_URI_ALL =  "content://sms/"; //0  
            2. public final static String SMS_URI_INBOX = "content://sms/inbox";//1  
            3. public final static String SMS_URI_SEND = "content://sms/sent";//2  
            4. public final static String SMS_URI_DRAFT = "content://sms/draft";//3  
            5. public final static String SMS_URI_OUTBOX = "content://sms/outbox";//4  
            6. public final static String SMS_URI_FAILED = "content://sms/failed";//5  
            7. public final static String SMS_URI_QUEUED = "content://sms/queued";//6  
            sms主要結構:
            1. _id => 短消息序號 如100  
            2. thread_id => 對話的序號 如100  
            3. address => 發件人地址,手機號.如+8613811810000  
            4. person => 發件人,返回一個數字就是聯系人列表里的序號,陌生人為null  
            5. date => 日期  long型。如1256539465022  
            6. protocol => 協議 0 SMS_RPOTO, 1 MMS_PROTO   
            7. read => 是否閱讀 0未讀, 1已讀   
            8. status => 狀態 -1接收,0 complete, 64 pending, 128 failed   
            9. type => 類型 1是接收到的,2是已發出   
            10. body => 短消息內容   
            11. service_center => 短信服務中心號碼編號。如+8613800755500  
            posted on 2010-07-21 09:00 漂漂 閱讀(8266) 評論(0)  編輯 收藏 引用 所屬分類: android 開發
            久久精品夜色噜噜亚洲A∨| 精品久久久久久国产潘金莲| 国产精品久久久久久搜索| 久久伊人精品一区二区三区| 日韩影院久久| 亚洲精品无码专区久久同性男| 精品人妻伦九区久久AAA片69| 99久久国产综合精品五月天喷水| 日本精品久久久久中文字幕8| 99久久久精品| 国产成人久久777777| 91久久精品国产成人久久| 久久精品成人免费观看97| 久久综合视频网站| 狠狠色婷婷久久综合频道日韩 | 亚洲va中文字幕无码久久不卡| 久久午夜夜伦鲁鲁片免费无码影视| 久久夜色精品国产噜噜亚洲a| 老男人久久青草av高清| 久久久久久毛片免费播放| 97久久国产亚洲精品超碰热| 国产成人久久777777| 久久久精品国产| 99久久777色| 亚洲国产成人久久精品99 | 久久综合五月丁香久久激情| 久久久久免费精品国产| 久久精品无码一区二区无码| 久久成人精品视频| 亚洲国产成人久久精品99| 精品久久8x国产免费观看| 久久精品一区二区影院| 久久精品国产亚洲AV高清热| 国产精品丝袜久久久久久不卡| 久久精品人人做人人爽电影 | 国内精品伊人久久久久| 久久久久这里只有精品| 久久精品人人做人人爽电影蜜月| 精品久久久久中文字| 国产精品美女久久久m| 国产免费久久精品99re丫y|