Android 如何在应用程序中搜索短信收件箱中的单词?

Android 如何在应用程序中搜索短信收件箱中的单词?,android,sms,Android,Sms,我是Android新手。我想知道如何在应用程序的SMS收件箱中按单词搜索。有人能帮我吗。如果可以的话,请给我源代码。这似乎已经被回答了好几次,例如指针。 请在创建新问题之前搜索现有问题。首先,您必须向收件箱内容提供商查询短信 Uri uriSMSURI = Uri.parse("content://sms/inbox"); Cursor cur = getContentResolver().query(uriSMSURI,new String[] { "_id", "thread_id"

我是Android新手。我想知道如何在应用程序的SMS收件箱中按单词搜索。有人能帮我吗。如果可以的话,请给我源代码。

这似乎已经被回答了好几次,例如指针。
请在创建新问题之前搜索现有问题。

首先,您必须向收件箱内容提供商查询短信

  Uri uriSMSURI = Uri.parse("content://sms/inbox");
  Cursor cur = getContentResolver().query(uriSMSURI,new String[] { "_id", "thread_id",      "address", "person", "date", "body" }, null, null,null);
然后搜索迭代并获取短信正文

      if(cur.getCount()>0) {
        while(cur.moveToNext()) {
            String smsBody = cur.getString(5);
            Log.v("body",smsBody);

            if(smsBody.contains("matching string")) {


            }
也请参考此链接

**使用内容解析器(“content://sms/inbox)阅读收件箱中的短信**

   Cursor cursor = getContentResolver().query(Uri.parse("content://sms/inbox"), null,     null, null, null);    
   cursor.moveToFirst();

   do{
   String msgData = "";
   for(int idx=0;idx<cursor.getColumnCount();idx++)
   {
       msgData += " " + cursor.getColumnName(idx) + ":" + cursor.getString(idx);
   }
   if(msgData.contains(yourWord))
       ;// do something

   }while(cursor.moveToNext());
Cursor Cursor=getContentResolver().query(Uri.parse()content://sms/inbox)、空、空、空、空);
cursor.moveToFirst();
做{
字符串msgData=“”;

对于(int idx=0;idx如何加快搜索速度?当收件箱中有大量短信时,这需要时间