首页 > 解决方案 > 重现强制关闭的选项

问题描述

在android中有
设置->应用程序->你的应用程序->强制关闭选项

有谁知道它是如何以编程方式工作的?
我尝试了很多方法来关闭我的应用程序以及那些无法正常工作的方法。

那些使用所有线程/服务完全关闭应用程序的人。

无论如何,我需要用线程服务和一切来关闭我的应用程序的东西。

 public void turnOffApp() {
    try {
        for (IThreadController thread : Objects.threadList) {
            thread.stopThread();
        }
        Log.d(Objects.context.getString(R.string.complete), Objects.context.getString(R.string.turningOffThreads));
        finish();
    } catch (Exception e) {
        Log.d(Objects.context.getString(R.string.error), Objects.context.getString(R.string.throwErrorWhileStoppingThreads), e);
    }
}

Objects.threadList 是一个全局对象,我在其中存储所有创建的线程。顺便说一句,当应用程序关闭或崩溃时也会触发,然后它可以正常工作,但我也想在按钮中使用它,但这里效果不太好

标签: androidforceclose

解决方案


没有直接的方法可以杀死应用程序,尽管您可以通过按下按钮加载第一个活动并清除堆栈中的所有其他活动来实现这一点。现在您只剩下一项活动要处理,完成您可以执行以下操作:

Intent intent = new Intent(getApplicationContext(), FirstActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);

上面的代码从堆栈中删除了除 FirstActivity 之外的所有活动。要完成 FirstActivity,请在 FirstActivity 的 oncreate 中输入以下代码

if (getIntent().getExtras() != null && getIntent().getExtras().getBoolean("EXIT",false)) {
finish();
}

希望能帮助到你!


推荐阅读