2013-01-02 135 views
13

我想通过按钮单击退出应用程序。如何以编程方式通过按钮单击退出应用程序

的按钮点击的代码是

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

试试这个可能对你有帮助。

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" /> 
+0

使用此应用程序将从最近的应用程序的最后阶段(不主要活动)开始 –

+0

我必须把这里面的按钮操作? – achu

+0

@achu是按钮排序器上.. –

10

使用这个对我来说是工作:

quitBtn.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View paramView) { 

       moveTaskToBack(true); 
       MainActivity.this.finish(); 
      } 
}); 
2

应用程序必须在第一个活动(MainActivity)在栈中退出不同的XML实现的更多信息(通常是应用程序启动时启动的第一项活动)。我使用此代码:

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或不。

1

你需要做的是在按钮上点击finishAffinity();来关闭每个活动活动。

quitBtn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View paramView) { 
     finishAffinity(); 
    }}); 
0

要完成某种活动或退出程序

@Override 
    public void onBackPressed() { 
     this.finish(); 
    } 
相关问题