¿Cómo buscar palabras en la bandeja de entrada de SMS dentro de la aplicación?

I am new to Android. I want to know how to search by word in SMS inbox within the application. Can anyone help me. Please give me the source code if you could.

preguntado el 31 de julio de 12 a las 12:07

3 Respuestas

** Use Content Resolver ("content://sms/inbox") to read SMS which are in 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());

Respondido 31 Jul 12, 12:07

This seems to have been answered several times already aquí y ahí for pointer for instance. Please do search for existing questions before creating new ones.

contestado el 23 de mayo de 17 a las 12:05

how to speed up search? this will take time when lots of sms in inbox - Gaurav

first you have to query the inbox content provider for 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);

Then search iterate and get sms body

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

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


            }

también consulte este enlace

¿Cómo puedo leer la bandeja de entrada en un dispositivo móvil Android?

contestado el 23 de mayo de 17 a las 11:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.