我想立刻关闭所有最近的应用程序.我找到了以下代码,但它只显示了最近的应用程序.我想关闭所有这些最近的应用程序.
显示所有最近的应用列表代码:(但我不想列表我需要关闭所有最近的应用程序)
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) 我尝试了很多来获取最近和正在运行的应用程序(不是进程)的列表但是无法获得它.
我查看了有关此问题的所有stackoverflow问题,但我得到的关于运行进程和最近任务的唯一答案不是特定应用程序,就像我们在长按主页按钮时可以在Samsung Mobile任务管理器中看到的那样.
我可以通过以下代码获取正在运行的进程:
ActivityManager actvityManager = (ActivityManager)
this.getSystemService( ACTIVITY_SERVICE );
List<RunningAppProcessInfo> procInfos = actvityManager.getRunningAppProcesses();
for(RunningAppProcessInfo runningProInfo:procInfos){
Log.d("Running Processes", "()()"+runningProInfo.processName);
}
Run Code Online (Sandbox Code Playgroud)
它给出了所有进程的包名,但我只想要我已经启动的应用程序的包名(Both Recent和Running).
如何从运行应用程序进程中提取它?
android ×2