Я видел дубликаты этого вопроса. Во всех вопросах они указали, чтобы прочитать все смс из папки «Входящие».Чтение последних полученных sms в Android
То, что я хочу, это просто прочитать последние полученные sms.
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i < msgs.length; i++) {
// Convert Object array
msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
// Sender's phone number
str += "SMS from " + msgs[i].getOriginatingAddress() + " : ";
// Fetch the text message
str += msgs[i].getMessageBody().toString();
str += "\n";
}
Он извлекает все сообщения, так который один из приведенных ниже кодов делать мне нужно использовать, чтобы принести последние смс (я удалил «для» петли в поле ниже коде)
msgs[0] = SmsMessage.createFromPdu((byte[]) pdus[0]);
msgs[0] = SmsMessage.createFromPdu((byte[]) pdus[msgs.length-1]);
Вопрос 1: В этих двух кодов, один даст мне последнее сообщение, кокетливыми БРП [0] (1) или БРП [msg.length-1]) (2)
Quetion 2: В моем коде я собираюсь прочитать последние sms и найти конкретное ключевое слово и выполнить соответствующее действие.
Когда я получу 2 см в одно и то же время (скажем SMS1 & SMS2). Мой ключевое слово есть в SMS1.
Во-первых, SMS1 приема и после того, как один или два вторых SMS2 получает, таким образом, что мои сомнения, является ли мой код будет читать SMS1 быстрее и двигаться читать SMS2 или он будет пропустить SMS1 когда SMS2 получил?
Простите меня и сделайте комментарий, если я предоставил что-то непонятное, надеюсь, вы сможете решить мою проблему. Заранее спасибо. :)