samedi 5 janvier 2019

Calling BroadcastReceiver in IF statement

I have a problem to call the Broadcast Receiver i created which sends an SMS back to my phone. Now i need this SMS to be sent when the IF statement which has a Toast is triggered. Thanks

Broadcast Receiver

public class ReceiveBroadcast extends BroadcastReceiver {

    private static final String TAG = "MyBroadcastReceiver";
    String body,number;

    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle bundle = intent.getExtras();
        if(bundle != null) {
            Object[] obj=(Object[])bundle.get("pdus");
            if(obj!=null){
                for(int i=0;i<obj.length;i++){
                    SmsMessage smsMessage = SmsMessage.createFromPdu((byte[])obj[i]);
                    body = smsMessage.getMessageBody().toString();
                    number = smsMessage.getOriginatingAddress().toString();
                }
                SmsManager sms = SmsManager.getDefault();
                sms.sendTextMessage(number, null, "IMSI Number is Verified " + imsiNum, null, null);
            }
        }
    }
}

ReceiveBroadcast myReceiver = new ReceiveBroadcast();

@Override
protected void onStart() {
    super.onStart();
    IntentFilter filter = new IntentFilter();
    filter.addAction("android.provider.Telephony.SMS_RECEIVED");

    registerReceiver(myReceiver, filter);
}

@Override
protected void onStop() {
    super.onStop();
    unregisterReceiver(myReceiver);
}

IF Statement

@Override
            public void onDataChange(DataSnapshot dataSnapshot) {

                for (DataSnapshot readphone : dataSnapshot.getChildren()) {
                    Log.v("tmz",""+ readphone.getKey()); //displays the key for the node
                    String lastphoneNumber = readphone.child("phoneNumber").getValue().toString();
                    String lastIMSINumber = readphone.child("verifyCode").getValue().toString();
                    if(lastIMSINumber.equals(imsiNum)){
                        Toast.makeText(MainActivity.this, "Phone Number Retrieved "+ lastphoneNumber + " IMSI: " + lastIMSINumber, Toast.LENGTH_LONG).show();

                    }
                }
            }

Aucun commentaire:

Enregistrer un commentaire