以编程方式关闭Android应用程序

时间:2014-03-24 06:23:18

标签: android exit

我正在处理Android项目,其要求如下:如果发生任何exceptions,我们需要通过显示error消息退出应用程序。

我知道Android不允许以编程方式退出应用程序,因此其他解决办法应该是冻结用户不应该在应用程序中执行任何操作的应用程序。但是我该如何实现呢。

5 个答案:

答案 0 :(得分:5)

发生错误时调用此函数 它的简单

public void close()
{
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}

答案 1 :(得分:3)

public void quit() {
    int pid = android.os.Process.myPid();
    android.os.Process.killProcess(pid);
    System.exit(0);
}

(但在android中使用system.exit()是一种糟糕的方法。最好使用finish()

OR

Intent i= new Intent(getapplicationcontext,TARGETACTIVITY.class);
finish();
startActivity(intent);

答案 2 :(得分:0)

试试这个:

try{
-------
-----
----
}
Catch (Exception e)
{
exception.printStackTrace();//using alert box to show your exception. 
finish(); //use this one of your Application it will close the application. 
}

或者尝试使用服务来创建警报箱活动的新意图:

 Intent intent = new Intent(Intent.ACTION_MAIN);
             intent.addCategory(Intent.CATEGORY_HOME);
             intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
             startActivity(intent);

答案 3 :(得分:-1)

将此代码写入您的onbackpressed覆盖方法

@Override 
public void onBackPressed() { 
   Intent intent = new Intent(Intent.ACTION_MAIN);
   intent.addCategory(Intent.CATEGORY_HOME);
   intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   startActivity(intent);
}

答案 4 :(得分:-2)

致电

 System.exit();
在你的阻止块中