Мне нужна помощь, я уже проводил исследования, но пока не могу найти точное решение.
У меня есть этот кусок кодов здесь.
Может получать сообщения, но я хочу, чтобы мой андроид прослушивал определенные SMS-сообщения, содержащие определенные коды / текст. и если код / текст обнаруживается, он отправит веб-запрос в веб-приложение Java, содержащее сервлет. Любая помощь о том, как изменить его или решения?
Использование: Eclipse Indigo 2.7, API 2.3.3
Любая помощь будет принята с благодарностью.
Спасибо.
@SuppressWarnings("deprecation")
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
[] msgs = null;
String str = "";
if (bundle != null) {
//---retrieve the SMS message received---
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new [pdus.length];
for (int i=0; i < msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
str += "SMS from " + msgs[i].getOriginatingAddress();
str += " :";
str += msgs[i].getMessageBody().toString();
str += "\n";
}
//---display the new SMS message---
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
}
}
}
Я сделал пример регулярного выражения (как показано ниже), но я запутался в его реализации в приведенных выше кодах = /
public static void main(String[] args) {
String number = "123345";
//Direct use of Pattern:
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(number);
while (m.find()) { // Find each match in turn; String can't do this.
String result = m.group(); // Access a submatch group; String can't do this.
System.out.println("Result: "+result);
}
}
}