Я пытаюсь получить SMS-сообщение от определенного отправителя, но проблема в том, что у отправителя разные коды, например «VM-Citi» или «AD-Citi». Я хотел бы узнать, возможно ли запрашивать SMS только у отправителя есть что-то вроде ключевого слова, если оно содержит «citi»?
Прямо сейчас я делаю следующее:
Uri uriSMSuri = Uri.parse("content://sms/inbox");
String[] args = new String[]{ "VM-Citibk", "AD-Citibk" };
StringBuilder inList = new StringBuilder(args.length * 2); //for adding the ?
for(int i=0;i<args.length;i++)
{
if (i > 0)
{
inList.append(",");
}
inList.append("?");
}
cursor = getActivity().getContentResolver().query(uriSMSuri,new String[] {"*"}, "address IN ("+inList.toString()+")", args, "date desc");
if(cursor.getCount() > 0 && cursor != null)
{
while (cursor.moveToNext())
{
contactName = cursor.getString(cursor.getColumnIndex("address"));
snippet = cursor.getString(cursor.getColumnIndex("body"));
}
}
Прямо сейчас у меня есть строка [] args, в которой есть информация об отправителе, но возможно ли иметь аргументы, которые говорят, содержит ли отправитель «citi»?
Возможно ли, если да, то как применить этот формат к аргументам?
BroadcastReceiver
прочитатьSMS
и можете разделить его по своему усмотрению и получить текст вString
- person Anshul Tyagi   schedule 20.05.2015