Android Instrumentation-如何检测外部活动调用
我正在使用Robotium测试android应用程序,并对如何检测外部应用程序活动(如浏览器、摄像头、facebook)由测试应用程序启动时的情况感兴趣。有人问如何处理这种情况,但我所需要的只是检测它,例如只记录它发生的时间。这是否可能使用机器人或简单的仪器Android Instrumentation-如何检测外部活动调用,android,robotium,instrumentation,Android,Robotium,Instrumentation,我正在使用Robotium测试android应用程序,并对如何检测外部应用程序活动(如浏览器、摄像头、facebook)由测试应用程序启动时的情况感兴趣。有人问如何处理这种情况,但我所需要的只是检测它,例如只记录它发生的时间。这是否可能使用机器人或简单的仪器 顺便说一句,当系统应用程序被假冒的类似程序取代时,我无法使用该解决方案,我甚至不知道什么应用程序(以及何时)将被启动,因为测试是随机的。(是的,我知道,这是一个糟糕的方法,但这是一个项目限制)。见我的答案。其主要思想是检测当前的top活动,
顺便说一句,当系统应用程序被假冒的类似程序取代时,我无法使用该解决方案,我甚至不知道什么应用程序(以及何时)将被启动,因为测试是随机的。(是的,我知道,这是一个糟糕的方法,但这是一个项目限制)。见我的答案。其主要思想是检测当前的top
活动
,即外部应用程序的活动
。您可以创建服务
,它将监视顶级活动。另一种方法是检查您的活动何时失去焦点。当它失去焦点时,意味着另一个外部活动有焦点
您可以将Solo.waitForCondition()与hasWindowFocus结合使用 谢谢,您的解决方案似乎可以接受。我认为可能有一些可能性可以使用Instrumentation Advantage实现这一点,所以我会在接受它之前一两天给出您的答案。如果您在Instrumentation Advantage中发现相同的功能,它将非常有用。互助;)但即使在同一应用程序的新活动出现时,活动也会失去焦点。