运行一个简单的应用程序,打开时可以打开/关闭Wifi。下面是代码。我希望应用程序在执行任务后退出,所以我尝试在最后添加finish()或System.exit(0)。它工作正常,但当我检查概述按钮时,我仍然可以看到应用程序处于运行状态,我需要刷它以停止应用程序。 [我的意思是显示正在运行的应用程序缩略图的第三个按钮]
import android.content.Context;
import android.net.wifi.WifiManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
if(wifiManager.isWifiEnabled()){
wifiManager.setWifiEnabled(false);
}
else{
wifiManager.setWifiEnabled(true);
}
finish();
}
}
答案 0 :(得分:1)
完成将结束活动。这与结束应用程序不同。退出()并没有真正退出应用程序,无论如何,这将是一个脏关闭而不是一个干净的关闭(因此它可能导致除了一个简单的应用程序以外的任何问题)。 Android真的写不允许你这样做。
然而,概述并不仅仅显示在内存中运行的应用程序。它显示正在运行或正在运行的任何应用程序,如果它是从正在运行的应用程序集中分页的,则将使用最新的意图重新启动它。所以事情确实如你所想,或者像在传统计算机上那样工作。我也不是特别喜欢它,但是你最好不要学习和理解它,以此来对抗它。
答案 1 :(得分:0)
使用自API 21以来可用的finishAndRemoveTask()。它将从最近的应用程序列表中删除应用程序。