I have a BroadcastReceiver that listen to incoming SMS'. If the message is from a certain sender, the BroadcastReceiver starts my app with the following code:
final Intent activityIntent = new Intent(context, MainActivity.class);
activityIntent.putExtra("smsChallenge", smsText);
activityIntent.putExtra("smsSenderNumber", senderMobilNumber);
activityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
activityIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(activityIntent);
In the MainActivity of my app (i.e. in onCreate()), I extract the value smsChallenge out of the intent and DELETE IT AFTER THE EXTRACTION with the following code:
Bundle extras = getIntent().getExtras();
if (extras != null) {
smsChallenge = extras.getString("smsChallenge");
extras.remove("smsChallenge");
}
So my app gets started from the SMS and runs fine... But if I choose to press the BACK button and restart the application (i.e. through the Taskmanager), the value smsChallenge is still in the bundle extras.
This means, my restarted app thinks that it is re-started because of a new SMS which is not true...
Any ideas why removing the key-value from the bundle doesn't seem to work when using the BACK button and restarting the app again?