我希望能够从我的应用程序中打开“最近使用的应用程序”对话框。这是通过长按主页按钮打开的对话框。我正在为 Android 4.1 或更早版本编程。我通过实现自定义 AccessibilityService 并调用 AccessibilityService.performGlobalAction(GLOBAL_ACTION_RECENTS) 找到了一种方法,但这需要在手机上启用辅助功能,这不是很理想。有没有其他方法可以从应用程序打开此对话框?
感谢您的帮助!
最佳答案
此代码不适用于牛轧糖或更高版本
可以触发最近的应用程序 Activity 。
StatusBarManagerService 实现了一个公共(public)方法,您可以通过反射使用它。
您可以使用以下代码:
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);
玩得开心
关于Android:以编程方式打开 "Recent Apps"对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14267482/