Java Android - Фильтр входящих текстовых сообщений - PullRequest
1 голос
/ 14 марта 2011

Я выбрал способ:

  1. Получение моего приложения Android для получения предупреждения / подсказки при получении текстового сообщения.
  2. Получение последнего сообщения из папки входящих сообщений.Оттуда я хочу отсканировать / отфильтровать его, но уверен, что смогу разобраться с этой частью.

Кто-нибудь может подсказать, с чего начать с любой части?Какое предупреждение вызывается при изменении размера папки «Входящие» или получении нового смс-сообщения?И как я могу получить сообщения из папки «Входящие»?Какие разрешения нужно будет предоставить?

Ответы [ 2 ]

1 голос
/ 14 марта 2011

Ответ на мой вопрос в основном можно найти здесь: http://www.kaloer.com/incoming-sms-messages

Надеюсь, что это поможет любому, кто ищет тот же ответ в будущем.

0 голосов
/ 16 февраля 2013

Мое решение этого вопроса:

public class MainActivity extends ListActivity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       List<SmsData> smsList = new ArrayList<SmsData>();

       Uri uri = Uri.parse("content://sms/inbox");
       Cursor c= getContentResolver().query(uri, null, null ,null,null);
       startManagingCursor(c);

       // Read the sms data and store it in the list
       if(c.moveToFirst()) {
           for(int i=0; i < c.getCount(); i++) {
               SmsData sms = new SmsData();
               sms.setBody(c.getString(c.getColumnIndexOrThrow("body")).toString());
               sms.setNumber(c.getString(c.getColumnIndexOrThrow("address")).toString());
              // sms.setName(c.getString(c.getColumnIndexOrThrow("name")).toString());
               smsList.add(sms);

               c.moveToNext();
           }
       }
       c.close();

       // Set smsList in the ListAdapter
       setListAdapter(new ListAdapter(this, smsList));

   }

   @Override
   protected void onListItemClick(ListView l, View v, int position, long id) {
       SmsData sms = (SmsData)getListAdapter().getItem(position);

       Toast.makeText(getApplicationContext(), sms.getBody(), Toast.LENGTH_LONG).show();

   }

}
...