Verwechslung zwischen Intent und getIntent() in onActivityResult - Android JavaJava

Java-Forum
Guest
 Verwechslung zwischen Intent und getIntent() in onActivityResult - Android Java

Post by Guest »

Um die Herausforderung zu lösen, habe ich diesen Code geschrieben. Zuerst wird intent von der Ziel-App aufgerufen, dann werde ich intent_result_flag12 mit den erforderlichen Daten starten, um die Bedingung if (intent == null) nicht zu erfüllen ||. getIntent() == null ||. !getIntent().getBooleanExtra("LOGIN", false)) zum Aufrufen der success()-Methode, aber mit meinem aktuellen Code immer erfüllt und kehrt zurück, ohne etwas zu tun, das heißt, eine der Bedingungen wird immer wahr.
aber meine Frage ist, was hier der Unterschied zwischen intent und getIntent() in onActivityResult ist Die Absicht in onActivityResult ist mein intent_result_flag12, das die Ergebnisdaten sendet, wenn die Absicht aufgerufen wird. aber was ist getIntent() in onActivityResult?
Dekompilierte Challenge-App:

Code: Select all

protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
this.f = new LogHelper(this);
if (getIntent().getAction() == null) {
Toast.makeText(this, "Sending implicit intent to\nio.hextree.attacksurface.ATTACK_ME", 1).show();
Intent intent = new Intent("io.hextree.attacksurface.ATTACK_ME");
intent.addFlags(8);
try {
startActivityForResult(intent, 42);
} catch (RuntimeException e) {
e.printStackTrace();
Toast.makeText(this, "No app found to handle the intent\nio.hextree.attacksurface.ATTACK_ME", 1).show();
finish();
}
}
}

@Override
protected void onActivityResult(int i, int i2, Intent intent) {
super.onActivityResult(i, i2, intent);
if (intent == null || getIntent() == null || !getIntent().getBooleanExtra("LOGIN", false)) {
return;
}
this.f.addTag("LOGIN");
if (intent.getIntExtra("token", -1) == 1094795585) {
this.f.addTag(1094795585);
success(this);
}
}
Mein App-Code HijackImplicitIntentsActivity:

Code: Select all

        Intent intent = getIntent();

Intent intent_result_flag12 = new Intent();

Intent intent_extra = new Intent();

intent_extra.putExtra("LOGIN", false);
intent_result_flag12.putExtra("token", 1094795585);
intent_result_flag12.putExtras(intent_extra);

setResult(RESULT_OK, intent_result_flag12);

finish();

AndroidManifest.xml

Code: Select all


                


Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post