如何在android中永久退出应用程序

时间:2013-08-17 12:02:44

标签: android android-intent

我正在做一个应用程序在这里我有一个退出按钮当我点击按钮,那时我需要退出应用程序..我尝试使用下面的代码应用程序正在关闭但它仍然在taslmanager运行..但当我点击退出按钮我应该关闭应用程序,以及我应该从任务管理器中删除它的可能性..任何人都可以建议我..thankyou。

public class MainMenu extends Activity {
    Button exit;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainmenu);

        exit=(Button)findViewById(R.id.btn1);
        exit.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
      Intent intent = new Intent(Intent.ACTION_MAIN);
      intent.addCategory(Intent.CATEGORY_HOME);
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

      startActivity(intent);
            }
        });
   }
 }

4 个答案:

答案 0 :(得分:0)

使用此标志:

FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS

此标志将通知操作系统从最近的应用程序的缓存中删除此app/activity

intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);

您也可以添加

android:noHistory="true"
android:excludeFromRecents="true"

在您的AndroidManifest文件中,了解您不希望在最近的应用中看到的活动。

答案 1 :(得分:0)

尝试此操作以退出应用程序

Intent startMain = new Intent(Intent.ACTION_MAIN); 

startMain.addCategory(Intent.CATEGORY_HOME); 
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(startMain); 
finish(); 

答案 2 :(得分:0)

如果您确实需要杀死该应用程序,请认真考虑:为什么不让OS找出何时何地释放资源?

否则,如果您非常确定,请使用

结束(); 作为对@dave appleton评论的反应:第一件事是读了大问题/答案组合@gabriel发布:退出一个应用程序 - 是不是不满意了?

  • 现在假设我们有这个问题,这里的问题仍有答案, 如果你正在做任何退出的事情,那就是你需要的代码 是完成()。显然你可以有多个活动等等, 但那不是重点。让我们使用一些用例

  • 您希望让用户因内存使用而退出所有内容 "不在后台运行? Doubtfull。让用户停止确定 活动在后台,但让操作系统杀死任何不需要的人 追索权。您希望用户不要转到您之前的活动 应用程序吗?好吧,要么配置它不要,要么你需要额外的 选项。如果大多数时候back = previous-activity有效,则 如果他/她想要做某事,用户不会回家 其他?如果你需要某种重置,你可以找出是否/如何/等等 您的申请已退出,如果您的活动再次获得关注, 可以采取行动,显示一个新的屏幕,而不是重新启动 你在哪里。所以最后,当然,终点()并没有杀死 everthing,但它仍然是我认为你需要的工具。如果有 用于"杀死所有活动",我还没有找到它

答案 3 :(得分:0)

Android不允许您直接退出app.you只需要在进行任何新活动之前从堆栈中删除当前的活动。

类首先扩展活动{ 的OnCreate(){

Intent i = new Intent(getappcontext(),nextactivity);

stratactivity(ⅰ);

first.this.finish();

}

}