Surya Matadewa
Surya Matadewa

Reputation: 1027

Handle back button android (onBackPressed)

i want to create simple android aplication to streaming video where url get from QR
this is my app flow : scanner - get url - streaming video

but if user press back button i wanna it become like this : 1. if app already had url / streaming video already begin, when user press back button....app back scan QR image state again 2. if app still in scanner state, when user press back button app do default android process when app get button back pressed (moveToBack or close)

i try with this code, but no luck

@Override
public void onBackPressed() {
    if (flagGetScanningResult) {
        flagGetScanningResult = false;
        launchScanner();
    }

    super.onBackPressed();
}

Upvotes: 0

Views: 1272

Answers (2)

Tim Malseed
Tim Malseed

Reputation: 6353

You probably don't want to call the super if you are trying to prevent the Activity from being destroyed.

Try this:

@Override
public void onBackPressed() {
    if (flagGetScanningResult) {
        flagGetScanningResult = false;
        launchScanner();
    } else {
        super.onBackPressed();
    }
 }

Calling through to super.onBackPressed() will cause the app to perform it's default 'back' action.

Upvotes: 1

Divyang Metaliya
Divyang Metaliya

Reputation: 1918

Try this way,

@Override
public void onBackPressed() {
    if (flagGetScanningResult) {
        flagGetScanningResult = false;
        launchScanner();
    }else{
        super.onBackPressed();
    }
}

Upvotes: 1

Related Questions