android - 重现强制关闭的选项
问题描述
在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 是一个全局对象,我在其中存储所有创建的线程。顺便说一句,当应用程序关闭或崩溃时也会触发,然后它可以正常工作,但我也想在按钮中使用它,但这里效果不太好
解决方案
没有直接的方法可以杀死应用程序,尽管您可以通过按下按钮加载第一个活动并清除堆栈中的所有其他活动来实现这一点。现在您只剩下一项活动要处理,完成您可以执行以下操作:
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();
}
希望能帮助到你!
推荐阅读
- amazon-ec2 - 尝试在 Windows 上使用 git-bash 连接 aws ec2 linux 实例时出错
- latex - 在数组中获取错位的对齐制表符和错误
- javascript - 如果文件可用于 JavaScript,则启用下载按钮
- javascript - 替换所有不在Javascript中方括号之间的字母
- javascript - Botium If Else 条件类似于 Alexa 响应的语句
- oop - 聚合关系C ++中另一个类中的一个类的静态对象
- bash - bash:简单和大数组上的巨大循环,最后一个元素上的错误+内存泄漏
- java - 如何使 recyclerview 根据百分比只显示一个数组?
- c# - 每个属性的 GroupBy Lamda 表达式构建器
- python - 将列表中的一组不同参数传递给函数