情况:我们正在使用 Firefox 浏览器在本地服务器上提供网页。如果用户在处理过程中点击了 Android 设备上的后退按钮,它就会陷入一个循环,必须通过注销或通过删除最近的应用列表来终止 firefox 浏览器来解决这个循环。我正在尝试通过我这边制作的应用程序来做到这一点,因为相信最终用户在每次发生时都知道这样做是不可行的。我的应用程序目前以私有模式提供网页,以便不在实例之间维护凭据,但我需要该程序终止 firefox 或至少将其从最近列表中删除,或者甚至一起禁用后退按钮就可以了.有什么想法或其他方法可以解决这个问题吗?这就是该设备的全部用途。它不需要任何其他功能。它在 Zebra Tech 设备上运行 Marshmallow。
我已经试过了,但无法正常工作。
private void terminateBrowserProcesses() {
Log.d("MyApp", "terminateBrowserProcesses() called");
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.AppTask> appTasks = activityManager.getAppTasks();
for (ActivityManager.AppTask appTask : appTasks) {
if (appTask.getTaskInfo().baseActivity.getPackageName().equals("org.mozilla.firefox")) {
appTask.finishAndRemoveTask();
Log.d("MyApp", "removed from list");
}
}
}