我试图点击按钮点击关闭应用程序。所以我在主页上使用以下代码
closebtn.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
finish();
}
});
从page5
点击close button
主页开始。
b5.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
Intent i =new Intent(Page5.this, FirstPage.class);
startActivity(i);
}
});
所以当我点击主页上的关闭按钮时,它再次转到第5页而不是关闭应用程序。
请帮我找到问题
提前致谢。
答案 0 :(得分:2)
finish()
未关闭该应用。它只关闭当前的活动。因此,在完成一个活动之后,自然行为将回到活动堆栈的最后一个活动。
所以现在你有多个选择
还有其他可能的选择。
答案 1 :(得分:1)
试试这个:
b5.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
Intent i =new Intent(Page5.this, FirstPage.class);
startActivity(i);
Page5.this.finish();
}
});
答案 2 :(得分:1)
您为退出应用添加以下代码。
closebtn.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startMain.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(startMain);
}
});
单击关闭按钮时使用此代码,您可以直接重定向到设备主屏幕。
答案 3 :(得分:0)
您需要清除热门活动。 也许你可以试试这样的东西
假设在我们的应用程序中,我们有许多活动(比如十个),我们需要直接退出此活动。我们可以做的是,创建一个intent并转到root活动并在intent中设置标记为
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
另外,在意图
中添加一些额外的布尔值intent.putExtra("EXIT", true);
然后在root活动中,检查boolean的值,并根据调用finish(),在根活动的onCreate()中
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}