#android #validation #sms
#Android #проверка #sms
Вопрос:
Перед входом в приложение для Android я хочу ввести свой номер и нажать кнопку. Эта кнопка предназначена для отправки SMS на номер, который вводится, поэтому, если сообщение, полученное мной, войдет в приложение, иначе оно покажет сообщение для проверки / подтверждения номера.
Ответ №1:
Я нашел решение. Используя метод onReceive из BroadcastReceiver
`
public void onReceive(Context context, Intent intent)
{
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
if (bundle != null)
{
//---retrieve the SMS message received---
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = SmsMessage.createFromPdu((byte[])pdus[0]);
Log.i(TAG, msgs.getMessageBody());
Intent intent2 = new Intent("com.uba.messagereceived");
str = "SMS From " msgs.getOriginatingAddress() ":" msgs.getMessageBody().toString() "...";
intent2.putExtra("letter", str);
intent2.putExtra("address", msgs.getOriginatingAddress());
intent2.putExtra("txt", msgs.getMessageBody().toString());
context.sendBroadcast(intent2);
}
//---display the new SMS message---
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
if(yMsg == msgg amp;amp; xNum == no)
{
setStatus("valid");
Intent mp = new Intent(context,UserMainPage.class);
context.startActivity(mp );
Toast.makeText(context,"The Validation completed: " this.getStatus(), Toast.LENGTH_SHORT).show();
}
else
{
setStatus("not Valid");
Toast.makeText(context,"The Validation completed: " this.getStatus(), Toast.LENGTH_SHORT).show();
}
}
`