Как прочитать все SMS из папки «Входящие» более чем одним отправителем, но не всеми отправителями в Android?

У меня есть один массив, у которого есть контактный номер, и я хочу передать этот массив по адресу. Чтобы он получал все сообщения с выбранных номеров, которые есть в массиве. Заранее спасибо.

  StringBuilder smsBuilder = new StringBuilder();
    final String SMS_URI_INBOX = "content://sms/inbox";
    final String SMS_URI_ALL = "content://sms/";

    Uri uri = Uri.parse(SMS_URI_INBOX);
    String[] projection = new String[] { "_id", "address", "person", "body", "date", "type" };

    Cursor cur = getContentResolver().query(uri, projection, "address='"+list+"'" , null, "date desc");

    if (cur.moveToFirst())
    {
        int index_Address = cur.getColumnIndex("address");
        int index_Person = cur.getColumnIndex("person");
        int index_Body = cur.getColumnIndex("body");
        int index_Date = cur.getColumnIndex("date");
        int index_Type = cur.getColumnIndex("type");
        do
        {
            String strAddress = cur.getString(index_Address);
            int intPerson = cur.getInt(index_Person);
            String strbody = cur.getString(index_Body);
            long longDate = cur.getLong(index_Date);
            int int_Type = cur.getInt(index_Type);


            String str = "SMS From: " + cur.getString(index_Address) +
                    "\n" + cur.getString(index_Body) + "\n";
            arrayAdapter.add(str);

            smsBuilder.append("[ ");
            smsBuilder.append(strAddress + ", ");
            smsBuilder.append(intPerson + ", ");
            smsBuilder.append(strbody + ", ");
            smsBuilder.append(longDate + ", ");
            smsBuilder.append(int_Type);
            smsBuilder.append(" ]\n\n");
        } while (cur.moveToNext());

        if (!cur.isClosed())
        {
            cur.close();
            cur = null;
        }
    }
    else
    {
        smsBuilder.append("no result!");
    } // end if
}

person Anjali Patel    schedule 06.10.2017    source источник
comment
Где это ArrayList чисел в вашем коде?   -  person pleft    schedule 06.10.2017
comment
Возможный дубликат Получить SMS с определенным номером телефона   -  person pleft    schedule 06.10.2017
comment
Нет, я спрашиваю, как передать более одного контактного номера на адрес? @pleft   -  person Anjali Patel    schedule 06.10.2017
comment
для len(arrayOfNumbers)=N ... selection = createArraywithStringNTimes("address=?", N).join(" OR ") и selectionArgs = arrayOfNumbers .... поэтому selection будет "address=? OR address=? OR address=? .... address=?" и selectionArgs = new String[] { "N1", "N2", "N3", ... "NN"}   -  person Selvin    schedule 06.10.2017
comment
извините, я не понимаю этого. Пожалуйста, будьте ясны и изложите это подробно. Спасибо, @Selvin   -  person Anjali Patel    schedule 06.10.2017
comment
Это потому, что вы даже не читали ContentResolver.query документацию... если бы вы читали, то знали бы, что такое selection и selectionArgs и как использовать алгоритм (не код). также, пожалуйста, будьте ясны и подробно изложите, что вы не поняли ...   -  person Selvin    schedule 06.10.2017
comment
Курсор cur = getContentResolver().query(uri, проекция, адрес = ?, имя_обозначения, описание даты); Пожалуйста, помогите мне. это правильный путь? @Селвин   -  person Anjali Patel    schedule 06.10.2017
comment
но если вам нужно больше адресов, вам нужно создать выбор, например адрес =? ИЛИ адрес = ? и тогда arr_name должен содержать те же элементы, что и ? в выборе... для 2 элементов: адрес = ? ИЛИ адрес = ? для 3: адрес = ? ИЛИ адрес = ? ИЛИ адрес = ? и так далее ...   -  person Selvin    schedule 06.10.2017
comment
Давайте продолжим это обсуждение в чате.   -  person Anjali Patel    schedule 06.10.2017