2017-08-15 64 views
1

我曾经在网络上漫步了一个小时,我无法找到一个完全关闭我的应用程序并关闭所有活动,然后返回到主屏幕的代码。即使“退出”按钮对于Android应用程序不可或缺我的工作。我 给代码没有work.So请不要认为不可能找到一个完美的代码。如何退出应用程序,关闭所有活动并显示主屏幕?

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

这个代码将关闭应用程序,并显示homescreen.But它没” t关闭正在运行的应用程序。它只是最小化的应用程序

Activity.finish(); 
System.exit(0);  

    protected void quit(){ 
    Process.killProcess(Process.myPid()); 
} 

此代码简单地重新启动当前活动

+0

看看链接的“重复”问题中的其他答案。有很多方法可以做你想做的事,尽管它通常不是在Android中完成的。最简单的方法是使用“Intent.FLAG_ACTIVITY_CLEAR_TOP”启动你的“根活动”,并传递一个“extra”,告诉根你想退出的活动。这将清除活动堆栈中的所有活动,并且您的根活动只需调用'finish()'退出。 –

回答

0

这可能会实现:

android.os.Process.killProcess(android.os.Process.myPid()); 
System.exit(0); 

或致电您的活动,而不是System.exit()moveTaskToBack(true)。这会隐藏你的应用程序,直到用户想再次使用它。请记住,只要您适当地响应生命周期事件,您和用户都不需要关心应用程序是否仍在运行。

所以,如果你想隐藏你的应用程序调用moveTaskToBack(),并让Android决定何时杀死它。

+0

让我试试。感谢您的回复 –

+0

它只是重新启动当前活动 –

+0

我想杀了我的应用程序按钮点击 –

0

Personnaly,我喜欢在我的MainActivity上使用finishAndRemoveTask();,它将应用程序从最近的应用程序中删除并完全关闭它。或者,如果您希望您的应用位于最近的应用屏幕上,则可以简单地使用finishTask();

+0

请解释如何使用finishAndRemoveTask();和finishTask(); –

+0

这个“finishAndRemoveTask();”重新开始活动 –

相关问题