Android - 收听特定应用程序以启动并启动其他应用程序

时间:2018-06-07 09:35:17

标签: android android-activity launch accessibilityservice usagestatsmanager

我正在尝试让应用程序侦听特定应用程序(A1)以启动,然后启动其他应用程序(A2)(用户选择)。

目前我使用两种权限, PACKAGE_USAGE_STATS BIND_ACCESSIBILITY_SERVICE 。第一个权限当前用于检测特定应用程序(A1)何时启动。第二个权限用于模拟按下按钮,例如回家或回来。

我尝试使用下面的代码启动特定应用程序(A1)后立即启动其他应用程序(A2)但没有成功(应用程序A1仍然位于顶部)。

Intent intent = activity.getPackageManager().getLaunchIntentForPackage(SPECIFIC_APPLICATION_PKG); activity.startActivity(intent);

我意识到当离开特定应用程序(A1)并进入启动器/主屏幕时,可以启动另一个应用程序(A2)。一旦特定应用程序(A1)启动,我就模拟了背压,然后成功启动了另一个应用程序(A2)。这种方法的问题在于,当进入第三个应用程序(A3)并执行上述步骤时,我将最终进入第三个应用程序(A3),换句话说,不启动应用程序A2。为了尝试找到解决方案,我想到了将背压改为家用印刷机的想法,这总是把我带到所有应用程序的启动器/主屏幕。但是,如果我来自第三个应用程序(A3)并启动A1(通过例如最近的菜单)然后按home(通过代码)并尝试启动A2(通过代码),而我们转到A3由于某种原因我可以弄清楚。

感谢所有帮助!

1 个答案:

答案 0 :(得分:0)

我在上面的问题中找到了解决方案。

Starting an activity from a service after HOME button pressed without the 5 seconds delay

见Chinibin的回答