What can be the possible use case for finishActivity()
android, android-fragments, android-intent, android-layout
Solution
`finish()` Call this when your activity is done and should be closed. The ActivityResult is propagated back to whoever launched you via onActivityResult().
`finishActivity(int requestCode)` is used to finish another activity that you had previously started with startActivityForResult(Intent, int);
Edit
Like if you simply write `finish();` then it just gonna finish your current activity in which you are, but when you use `finishActivity(1001)` then `1001` is request code which you have passed from `startActivityForResult(intent, 1001);` so it will finish your that activity which you came from
Example.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
finishActivity(107);
Intent intent = new Intent(this, Menu.class);
startActivity(inten);
return true;
}
return false;
}
So above example will finish your current activity as you have written `finish();` and also finish your previous activity as we have written `finishActivity(107);`, where i already told you that `107` is code that you pass from your other activity.
Let's suppose you have 2 activity (Activity A and Activity B), Main Activity A is the Starting Activity. Activity B will run on top of Activity B and is a Blur View. and when i you are redirecting to the Activity B you are not finishing activity A. and you are starting Activity B like this
startActivityForResult(intent, 107);
so in activity B you have
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
finishActivity(107);
Intent intent = new Intent(this, Menu.class);
startActivity(inten);
return true;
}
return false;
}
which will finish your both activity A and B.
Hope this is simple and clear.
Problem
As i already know about `Finish() and FinishActivity()`. i.e `finish()` Call this when your activity is done and should be closed. `finishActivity()` is used to finish another activity that you had previously started with `startActivityForResult(Intent, int);` i want Briefly about this with sample Example code. For Understanding how it works.