Description: When
user wants to exit from application, he is prompted to exit from application.
Complexity Level:
Beginner
Keywords: back,
back button, android, android studio, alert, dialog, onbackpress
Alert means to get user’s input when needed. Most of us played
games and when we try to exit it by pressing “Back” button in Android phone, it ask for “Do you really want to exit?”. So,
in this article we are going to learn how to prevent user to exit from
application without giving response.
Step 1:
Create
a new Project with following parameters.
Step 2:
Open
your Main Activity file, in my case it is “BackPressActivity”
and paste following code inside.
===============
BackPressActivity
===============
package
com.example.alertonbackpressdemo;
import
android.app.AlertDialog;
import
android.content.DialogInterface;
import
android.os.Bundle;
import
android.app.Activity;
import
android.view.Menu;
public
class BackPressActivity extends Activity {
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onBackPressed() {
AlertDialog.Builder builder = new
AlertDialog.Builder(this);
builder.setCancelable(false);
builder.setMessage("Do you want to
Exit?");
builder.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface
dialog, int which) {
//if user pressed
"yes", then he is allowed to exit from application
finish();
}
});
builder.setNegativeButton("No",new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface
dialog, int which) {
//if user select
"No", just cancel this dialog and continue with app
dialog.cancel();
}
});
AlertDialog alert=builder.create();
alert.show();
}
}
Let’s
understand Alert Dialog and its different methods.
In
code there is written “builder.setCancelable(false);”
which means that user can’t cancel this dialog by pressing back again or touch
outside the alert dialog box and dismiss it. So user has to press one of the
options you have provided to him.
Next
is “builder.setMessage("Do you want
to Exit?");”. Here you can write your own message which will be
displayed to user in alert.
“builder.setPositiveButton” will set a
positive button in left side. Parameter will accept the name of that button as
you can see in code is “Yes”. Same
thing is set for “builder.setNegativeButton”.
When you set these buttons, you need to pass a listener which will be fired
when user click one of the button.
Step 3:
Run
your application.
Summary
In this article, we learned “How
to show Alert Dialog” and “Show dialog at BACK button pressed”.