Одним из способов подачи строки в эмулятор будет реализация BroadcastReceiver для SMS-сообщений.Затем из окна DOS вы можете « telnet localhost 5554 » (или любой другой номер, под которым запускается ваш эмулятор). Затем вы можете использовать команду эмулятора sms send 1234 yourString .(1234 - просто фиктивный номер для «отправляющего» телефонного номера.
Вам нужно было бы проанализировать строку внутри получателя, чтобы заставить ее изменять различные переменные члена класса и т. Д. Или что-то в этом роде.
Этодовольно неуклюжий метод, но он не повлияет на ваш пользовательский интерфейс, и для получателя потребуется всего около десятка строк кода.
Я просто вставил этот бит кода в onCreate и установил точку останова для проверки принципа
rcvIncoming = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String message = "";
Bundle data = intent.getExtras();
if (data != null) {
Object pdus[] = (Object[]) data.get("pdus");
String sender = null;
for (Object pdu : pdus) {
SmsMessage part = SmsMessage.createFromPdu((byte[]) pdu);
message += part.getDisplayMessageBody();
if (sender == null) {
sender = part.getDisplayOriginatingAddress();
}
}
}
String test = message;// breakpoint here to test
}
};
registerReceiver(rcvIncoming, new IntentFilter(
"android.provider.Telephony.SMS_RECEIVED"));
вам понадобится это и в манифесте:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
.