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