Android 完全退出当前应用程序的四种方法
下面我详细讲解一下“Android 完全退出当前应用程序的四种方法”的完整攻略。
1. 使用System.exit(0)方法
这种方法可以使用System.exit(0)方法来完成应用程序的退出。
示例代码如下:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btnExit = findViewById(R.id.btn_exit); btnExit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { System.exit(0); // 退出当前应用程序 } }); }}2. 使用finish()方法
这种方法是使用Activity的finish()方法来完成退出操作。
示例代码如下:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btnExit = findViewById(R.id.btn_exit); btnExit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); // 关闭当前Activity } }); } @Override public void onBackPressed() { super.onBackPressed(); finish(); // 按下返回键时关闭当前Activity }}3. 使用Activity管理器退出应用程序
这种方法使用ActivityManager来退出应用程序。
示例代码如下:
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); } /** * 退出应用程序 */ public void exit() { ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); activityManager.killBackgroundProcesses(getPackageName()); System.exit(0); // 退出程序 }}4. 使用广播来退出应用程序
这种方法使用广播来退出应用程序。
示例代码如下:
public class ExitAppReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { String reason = intent.getStringExtra(SYSTEM_REASON); if (TextUtils.equals(reason, SYSTEM_HOME_KEY) || TextUtils.equals(reason, SYSTEM_RECENT_APPS)) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); activityManager.killBackgroundProcesses(context.getPackageName()); System.exit(0); // 退出程序 } } }}使用时需要在AndroidManifest.xml文件中注册该广播:
<receiver android:name=".ExitAppReceiver"> <intent-filter> <action android:name="android.intent.action.CLOSE_SYSTEM_DIALOGS" /> </intent-filter></receiver>