Получать данные SMS из своего идентификатора Android

#android #sms #cursor

#Android #sms #курсор

Вопрос:

Я хочу получить сведения о SMS (номер, текстовое тело, время прихода); И я знаю только идентификатор sms. Могу ли я запросить «content: / / sms» с этим идентификатором и получить сведения?

На данный момент я могу создать цикл и запросить для каждого сообщения и получить детали. Но это неэффективно, когда вам нужно получать отдельные данные sms 10 раз из 1000 sms….. Надеюсь, вы понимаете проблему. Спасибо

Ответ №1:

Я разобрался сам, но мне потребовалось некоторое время, следующий код работает для меня:

         Uri myMessage = Uri.parse("content://sms/");
        ContentResolver cr = getContentResolver();
        Cursor c = cr.query(myMessage, new String[] { "_id", "address", "date", "body","read" },"_id = " smsID, null, null);

        c.moveToFirst();

        String Number = c.getString(c.getColumnIndexOrThrow("address")).toString();

        String ReadStatus = c.getString(c.getColumnIndex("read"));
        String Body = c.getString(c.getColumnIndexOrThrow("body")).toString();

        c.close();
  

Я пропустил условие и переместил курсор на первое. Надеюсь, кто-нибудь сможет найти это полезным.

Комментарии:

1. Фрархан, это поисковое SMS-сообщение с таким же идентификатором в базе данных?