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());  
        }
}       

その特定の電話番号を持つメッセージがボックスに存在することは確かであり、この事実をクロスチェックしました.しかし、ここで、iカーソルカウントは常に0を示しています.何が問題なのかわかりません.検索しましたたくさんありますが、理解できません。助けてください。よろしくお願いします。

4

1 に答える 1

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);

それは私のために働いています。問題が解決したかどうか教えてください。

于 2012-12-14T06:12:48.710 に答える