一次关闭所有最近打开/运行的应用程序按钮 - android

sms*_*247 22 android android-intent android-layout android-activity

我想立刻关闭所有最近的应用程序.我找到了以下代码,但它只显示了最近的应用程序.我想关闭所有这些最近的应用程序.

显示所有最近的应用列表代码:(但我不想列表我需要关闭所有最近的应用程序)

Class serviceManagerClass = Class.forName("android.os.ServiceManager");
Method getService = serviceManagerClass.getMethod("getService", String.class);
IBinder retbinder = (IBinder) getService.invoke(serviceManagerClass, "statusbar");
Class statusBarClass = Class.forName(retbinder.getInterfaceDescriptor());
Object statusBarObject = statusBarClass.getClasses()[0].getMethod("asInterface", IBinder.class).invoke(null, new Object[] { retbinder });
Method clearAll = statusBarClass.getMethod("toggleRecentApps");
clearAll.setAccessible(true);
clearAll.invoke(statusBarObject);
Toast.makeText(getApplicationContext(), "All recent app closed....", Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

Kon*_*nov 9

不,即使使用方法,也无法杀死和删除"最近的应用"列表用户的近期应用Process.killProcess().阅读以下两个答案:
- 在Android上杀死另一个应用程序?
- 如何杀死android中当前正在运行的任务

但是,您可以做的是重新启动最近应用程序的后台进程(这是Google Play中大多数TaskKillers实际执行的操作):

  • KILL_BACKGROUND_PROCESSES用户权限添加到清单中:

    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
    
    Run Code Online (Sandbox Code Playgroud)
  • 然后killBackgroundProcesses(以前称为restartPackage)你想要"杀死"的进程/进程(即使它不是真正的杀戮)

    ActivityManager actvityManager = (ActivityManager)
            this.getSystemService( ACTIVITY_SERVICE );
    List<ActivityManager.RunningAppProcessInfo> procInfos = actvityManager.getRunningAppProcesses();
    for(ActivityManager.RunningAppProcessInfo runningProInfo:procInfos){
        if (runningProInfo.processName.equals("PACKAGE_NAME_YOU_WANT_TO_KILL")) {
            actvityManager.killBackgroundProcesses(runningProInfo.processName);
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

结果,"已杀死"的应用程序不再出现在运行进程列表中,它们将从内存中删除.应用程序仍在最近的应用程序列表中,您无法对其执行任何操作 - 请参阅回答 清除所有最近的任务Programmaticcally

我希望,这有帮助.


act*_*cay 6

退出应用程序是Android OS的工作.考虑您要退出所有最近的应用程序的原因.如果所有最近的应用程序都没有正确编写,关于Android OS应用程序开发模型,并且它们行为不端,那么它们应该被卸载或修复.

这是一个关于这个主题的精彩维基:

退出申请不赞成?