android擷取簡訊所有內容

來源:互聯網
上載者:User

Java代碼 
// android擷取簡訊所有內容 
// 注意設定許可權[添加到AndroidMainfest.xml]   <uses-permission android:name="android.permission.READ_SMS" />  
     
public String getSmsInPhone()    
    {    
        final String SMS_URI_ALL   = "content://sms/";      
        final String SMS_URI_INBOX = "content://sms/inbox";    
        final String SMS_URI_SEND  = "content://sms/sent";    
        final String SMS_URI_DRAFT = "content://sms/draft";    
            
        StringBuilder smsBuilder = new StringBuilder();    
            
        try{    
            ContentResolver cr = getContentResolver();    
            String[] projection = new String[]{"_id", "address", "person",     
                    "body", "date", "type"};    
            Uri uri = Uri.parse(SMS_URI_ALL);    
            Cursor cur = cr.query(uri, projection, null, null, "date desc");    
       
            if (cur.moveToFirst()) {    
                String name;     
                String phoneNumber;           
                String smsbody;    
                String date;    
                String type;    
                 
                int nameColumn = cur.getColumnIndex("person");    
                int phoneNumberColumn = cur.getColumnIndex("address");    
                int smsbodyColumn = cur.getColumnIndex("body");    
                int dateColumn = cur.getColumnIndex("date");    
                int typeColumn = cur.getColumnIndex("type");    
                 
                do{    
                    name = cur.getString(nameColumn);                 
                    phoneNumber = cur.getString(phoneNumberColumn);    
                    smsbody = cur.getString(smsbodyColumn);    
                        
                    SimpleDateFormat dateFormat = new SimpleDateFormat(    
                            "yyyy-MM-dd hh:mm:ss");    
                    Date d = new Date(Long.parseLong(cur.getString(dateColumn)));    
                    date = dateFormat.format(d);    
                        
                    int typeId = cur.getInt(typeColumn);    
                    if(typeId == 1){    
                        type = "接收";    
                    } else if(typeId == 2){    
                        type = "發送";    
                    } else {    
                        type = "";    
                    }    
                     
                    smsBuilder.append("[");    
                    smsBuilder.append(name+",");    
                    smsBuilder.append(phoneNumber+",");    
                    smsBuilder.append(smsbody+",");    
                    smsBuilder.append(date+",");    
                    smsBuilder.append(type);    
                    smsBuilder.append("] ");    
                     
                    if(smsbody == null) smsbody = "";      
                }while(cur.moveToNext());    
            } else {    
                smsBuilder.append("no result!");    
            }    
                 
            smsBuilder.append("getSmsInPhone has executed!");    
        } catch(SQLiteException ex) {    
            Log.d("SQLiteException in getSmsInPhone", ex.getMessage());    
        }    
        return smsBuilder.toString();    
    }   

 

本文出自“chenliang1234576”
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.