我不希望用户能够回到我的应用程序的启动画面.一个解决方案似乎是检查当前活动下面的活动是否是启动画面的实例,并在这种情况下退出应用程序,如下面的代码所示.但是,我不知道如何检查堆栈中之前的活动是什么.有人可以帮忙吗?有没有其他方法可以禁用"返回"给定的活动?
@Override
public void onBackPressed() {
if(<previous activity in stack is an instance of splashscreen>){
Intent exit_intent=new Intent(CurrentActivity.this, SplashScreen.class);
exit_intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
exit_intent.putExtra("EXIT", true);
context.startActivity(exit_intent);
}
}
Run Code Online (Sandbox Code Playgroud) 我想在按下Android设备的后退按钮时显示警告消息,询问用户他确定与否的天气.如果用户按"是",则他应该导航到上一个.如果"否",应恢复活动.但是当我按下后退按钮它执行两个操作时,会出现问题.它还导航到以前的活动并显示警告对话框.这是我的代码..看看并指导我..提前感谢.
public void onBackPressed() {
super.onBackPressed();
AlertDialog.Builder alertdialog=new AlertDialog.Builder(this);
alertdialog.setTitle("Warning");
alertdialog.setMessage("Are you sure you Want to exit the tutorial???");
alertdialog.setPositiveButton("yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent=new Intent(secAddition.this,addition.class);
startActivity(intent);
secAddition.this.finish();
}
});
alertdialog.setNegativeButton("No", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog alert=alertdialog.create();
alertdialog.show();
}
Run Code Online (Sandbox Code Playgroud)