Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Instrumentation-如何检测外部活动调用_Android_Robotium_Instrumentation - Fatal编程技术网

Android Instrumentation-如何检测外部活动调用

Android Instrumentation-如何检测外部活动调用,android,robotium,instrumentation,Android,Robotium,Instrumentation,我正在使用Robotium测试android应用程序,并对如何检测外部应用程序活动(如浏览器、摄像头、facebook)由测试应用程序启动时的情况感兴趣。有人问如何处理这种情况,但我所需要的只是检测它,例如只记录它发生的时间。这是否可能使用机器人或简单的仪器 顺便说一句,当系统应用程序被假冒的类似程序取代时,我无法使用该解决方案,我甚至不知道什么应用程序(以及何时)将被启动,因为测试是随机的。(是的,我知道,这是一个糟糕的方法,但这是一个项目限制)。见我的答案。其主要思想是检测当前的top活动,

我正在使用Robotium测试android应用程序,并对如何检测外部应用程序活动(如浏览器、摄像头、facebook)由测试应用程序启动时的情况感兴趣。有人问如何处理这种情况,但我所需要的只是检测它,例如只记录它发生的时间。这是否可能使用机器人或简单的仪器


顺便说一句,当系统应用程序被假冒的类似程序取代时,我无法使用该解决方案,我甚至不知道什么应用程序(以及何时)将被启动,因为测试是随机的。(是的,我知道,这是一个糟糕的方法,但这是一个项目限制)。

见我的答案。其主要思想是检测当前的top
活动
,即外部应用程序的
活动
。您可以创建
服务
,它将监视顶级活动。

另一种方法是检查您的活动何时失去焦点。当它失去焦点时,意味着另一个外部活动有焦点


您可以将Solo.waitForCondition()与hasWindowFocus结合使用

谢谢,您的解决方案似乎可以接受。我认为可能有一些可能性可以使用Instrumentation Advantage实现这一点,所以我会在接受它之前一两天给出您的答案。如果您在Instrumentation Advantage中发现相同的功能,它将非常有用。互助;)但即使在同一应用程序的新活动出现时,活动也会失去焦点。