2012-12-14 24 views
1

我想根據特定的號碼從收件箱中獲取有關郵件的信息。我正在使用以下代碼來實現目標,但未按預期方式工作:搜索收件箱中的郵件不成功

public void SendTheSmsToTheFolder(String NameOfContact,String Number,String FolderAddress,long TimeLimit) 
    { 
     m_NameOfContact = NameOfContact; 
     String SMS_URI_INBOX = "content://sms/inbox"; 
     Uri l_uri = Uri.parse(SMS_URI_INBOX); 

     Cursor l_SendTheSmsToTheFolderCursor = getContentResolver().query(l_uri, null, "address=?",new   String[]{Number.trim()},null); 
     if (l_SendTheSmsToTheFolderCursor.moveToFirst()) 
     { 
      int l_index_Address = l_SendTheSmsToTheFolderCursor.getColumnIndex("address"); 
      int l_index_Person = l_SendTheSmsToTheFolderCursor.getColumnIndex("person"); 
      int l_index_Body = l_SendTheSmsToTheFolderCursor.getColumnIndex("body"); 
      int l_index_Date = l_SendTheSmsToTheFolderCursor.getColumnIndex("date"); 
      do 
      { 
       String l_strAddress = l_SendTheSmsToTheFolderCursor.getString(l_index_Address); 
       String l_strbody = l_SendTheSmsToTheFolderCursor.getString(l_index_Body); 
       long l_longDate = l_SendTheSmsToTheFolderCursor.getLong(l_index_Date); 

       Log.v("Message: ","Body of the message is "+l_strbody); 
      } while (l_SendTheSmsToTheFolderCursor.moveToNext()); 
     } 
}  

我敢肯定,具有特定的電話號碼的消息出現在框中,我有交叉檢查這fact.But在這裏,我光標計數始終顯示0。I不知道是什麼是問題。我搜查了很多,但無法弄清楚。請幫助我。提前感謝。

回答

0

如果你想搜索特定號碼的信息,你可以試試這段代碼。

Uri uri = Uri.parse("content://sms/inbox"); 
    ContentResolver contentResolver = context.getContentResolver(); 
    String where = "address="+ phNum; //here you can use that particular number 
    Cursor cursor = contentResolver.query(uri, new String[] { "_id", "thread_id"}, where, null,null); 

它已經爲我工作。讓我知道它是否解決了您的問題。