关于这个主题有很多问题,但没有明确的答案。虽然android的内存管理很扎实,但是很多人认为我们不应该kill android应用。我的情况不同。我想要一个关闭应用程序的选项。我发现了以下用于关闭应用程序的代码,但有时它不起作用。当我点击应用程序上的退出按钮时,应用程序似乎只是自行刷新。
主 Activity .java
@Override
public void onDestroy()
{
super.onDestroy();
/*
* Notify the system to finalize and collect all objects of the
* application on exit so that the process running the application can
* be killed by the system without causing issues. NOTE: If this is set
* to true then the process will not be killed until all of its threads
* have closed.
*/
System.runFinalizersOnExit(true);
/*
* Force the system to close the application down completely instead of
* retaining it in the background. The process that runs the application
* will be killed. The application will be completely created as a new
* application in a new process if the user starts the application
* again.
*/
System.exit(0);
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch(item.getItemId()) {
case R.id.close:
Intent intentFinish = new Intent(this, FinishActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intentFinish);
finish();
return true;
}
return super.onMenuItemSelected(featureId, item);
}
FinishActivity.java
package com.mypackage;
import android.app.Activity;
import android.os.Bundle;
public class FinishActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
finish();
}
}
我也试过 Process.killProcess(Process.myPid());
但它不起作用。
最佳答案
我找到了我的解决方案。使用它来关闭应用程序
Intent homeIntent = new Intent(Intent.ACTION_MAIN);
homeIntent.addCategory( Intent.CATEGORY_HOME );
homeIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(homeIntent);
关于android - 如何关闭安卓应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9974792/