我正在尝试让应用程序侦听特定应用程序(A1)以启动,然后启动其他应用程序(A2)(用户选择)。
目前我使用两个权限,PACKAGE_USAGE_STATS和BIND_ACCESSIBILITY_SERVICE。第一个权限当前用于检测特定应用程序 (A1) 何时启动。第二个权限用于模拟按钮按下,例如 home 或 back。
我之前尝试在使用下面的代码启动特定应用程序 (A1) 后立即启动另一个应用程序 (A2),但没有成功(应用程序 A1 仍在顶部)。
Intent intent = activity.getPackageManager().getLaunchIntentForPackage(SPECIFIC_APPLICATION_PKG);
activity.startActivity(intent);
我意识到当离开特定应用程序(A1)并进入启动器/主屏幕时,可以启动另一个应用程序(A2)。我在特定应用程序 (A1) 启动后立即模拟了一次后按,然后成功启动了另一个应用程序 (A2)。这种方法的问题在于,当在第三个应用程序 (A3) 中并执行上述步骤时,我最终会进入第三个应用程序 (A3),换句话说,不会启动应用程序 A2。为了尝试找到解决方案,我想到了将后按改为主按的想法,这总是将我从所有应用程序带到启动器/主屏幕。但是,如果我来自第三个应用程序(A3)并启动 A1(例如通过最近菜单)然后按主页(通过代码)并尝试启动 A2(通过代码),
感谢所有帮助!