我想通过点击按钮退出应用程序。
按钮点击的代码是
quitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View paramView) {
// TODO Auto-generated method stub
MainActivity.this.finish();
}
});
但需要两次点击才能退出应用。
答案 0 :(得分:22)
使用此代码...我希望这会对您有所帮助..
quitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View paramView)
{
finish();
moveTaskToBack(true);
}
});
答案 1 :(得分:10)
使用它对我有用:
quitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View paramView) {
moveTaskToBack(true);
MainActivity.this.finish();
}
});
答案 2 :(得分:2)
应用程序必须在堆栈中的第一个活动(MainActivity)中退出(通常是应用程序启动时推出的第一个活动)。 我正在使用此代码:
finish();
android.os.Process.killProcess(android.os.Process.myPid());
两条线都很重要。只有杀戮不够,因为Android可能会自动再次启动你的应用,因此也必须使用finish()。
如果您想从其他活动退出应用,请先返回MainActivity并从那里退出。 要返回,我使用此代码:
Intent i = new Intent(context, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(i);
这将调用MainActivity的onCreate。使用静态变量(在应用程序上下文中)如果我想在onCreate中退出,我会设置一个标志。
答案 3 :(得分:2)
您需要做的是finishAffinity();
关闭所有有效活动。
quitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View paramView) {
finishAffinity();
}});
答案 4 :(得分:0)
试试这可能对你有帮助。
quitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
}
});
编辑清单文件
<activity android:name=".HomeActivity" android:label="@string/app_title_home" android:clearTaskOnLaunch="true" />
答案 5 :(得分:0)
如果您刚刚在xml文件中提供了onClick()
函数,则可以避免所有这些混淆。它将处理View.OnClickListener()
请阅读以下链接,了解有关XML实现与View.OnClickListener()
How exactly does the android:onClick XML attribute differ from setOnClickListener?
答案 6 :(得分:0)
完成活动或退出应用
@Override
public void onBackPressed() {
this.finish();
}