调用完成后Android应用程序不会停止

时间:2017-01-21 17:59:59

标签: android

运行一个简单的应用程序,打开时可以打开/关闭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();
}
}

2 个答案:

答案 0 :(得分:1)

完成将结束活动。这与结束应用程序不同。退出()并没有真正退出应用程序,无论如何,这将是一个脏关闭而不是一个干净的关闭(因此它可能导致除了一个简单的应用程序以外的任何问题)。 Android真的写不允许你这样做。

然而,概述并不仅仅显示在内存中运行的应用程序。它显示正在运行或正在运行的任何应用程序,如果它是从正在运行的应用程序集中分页的,则将使用最新的意图重新启动它。所以事情确实如你所想,或者像在传统计算机上那样工作。我也不是特别喜欢它,但是你最好不要学习和理解它,以此来对抗它。

答案 1 :(得分:0)

使用自API 21以来可用的finishAndRemoveTask()。它将从最近的应用程序列表中删除应用程序。