我想关闭整个申请表。我在背面按下了finishActivity()
,但它不起作用。我想完全关闭back
新闻发布会上的申请。我怎么能这样做?
public void onImageViewClicked(View view){
switch(view.getId()){
case R.id.viewStk:
intent = new Intent(MainActivity.this,ViewStkActivity.class);
startActivityForResult(intent, 12);
break;
case R.id.about:
Intent aboutIntent = new Intent(MainActivity.this,AboutActivity.class);
startActivity(aboutIntent);
break;
}
}
答案 0 :(得分:5)
public void onClick(View v) {
finish();
android.os.Process.killProcess(android.os.Process.myPid());
}
答案 1 :(得分:4)
我用:
@Override
public void onDestroy()
{
super.onDestroy();
// Force the process to be killed on finish(), not kept around
System.runFinalizersOnExit(true);
System.exit(0);
}
使用this.finish()
(这是活动的重写方法)
人们会抱怨并告诉你它会破坏Android应用程序生命周期,但在开发过程中在我的应用程序上设置“退出”按钮可以立即提高我的工作效率。
修改强>
显然,最新版本的API指出runFinalizersOnExit
函数已弃用且不安全。我对Gingerbread,ICS或JB没有任何问题。但为了充分披露,我会指出这一点。
答案 2 :(得分:0)
这也有帮助
Intent i = new Intent(yourScreen.this,Home.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.putExtra("EXIT", true);
startActivity(i);
并在Home类的onCreate中,执行此操作以进行检查,
if (getIntent().getBooleanExtra("EXIT", false))
{
finish();
}
这将基本上做的是无论你是什么活动,你都可以使用clear top标志调用主屏幕。在主屏幕中,onCreate方法中有一个检查条件,它将有助于清除堆栈。现在,如果按下后退按钮,您将在清除堆栈时退出应用程序..
如果问题仍然存在,请告诉我......
答案 3 :(得分:-1)
在需要实现的activity.java文件(fx MainActivity.java)中插入以下代码:
public void exitProgram(View view){
finish();
System.exit(0);
}
请记住,还要在.xml文件fx中调用该函数:
<Button
...
...
android:onClick="exitProgram"
...
/>
最后,在按钮属性的“文本”属性处-按下字段旁边的小按钮,然后为要使用的按钮选择一个-完成。
一个好的方法吗?一点都不。但是,如果您只想单击“紧急情况下离开这里”按钮,则可以开始。
有很多实现退出功能的方法(这里显示了其中一种)-因为有很多实现简单的“ Hello World”程序的方法-每个都有其价值,您应该认真考虑,为什么选择了自己的一个。