Android 从收件箱搜索邮件未成功
我希望根据特定的号码从收件箱中获取有关邮件的信息。我正在使用以下代码来实现此目标,但未按预期方式工作:Android 从收件箱搜索邮件未成功,android,sms,inbox,Android,Sms,Inbox,我希望根据特定的号码从收件箱中获取有关邮件的信息。我正在使用以下代码来实现此目标,但未按预期方式工作: public void SendTheSmsToTheFolder(String NameOfContact,String Number,String FolderAddress,long TimeLimit) { m_NameOfContact = NameOfContact; String SMS_URI_INBOX = "content://sms
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());
}
}
我很确定盒子里有这个电话号码的信息,我已经核对过这个事实。但是,我的光标计数始终显示为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);
这对我很有效。让我知道它是否解决了你的问题