在android中捕获另一个活动的屏幕

时间:2010-05-07 19:42:45

标签: android service screen android-activity capture

是否可以有一个服务(A),它将启动一个活动(B),然后定期捕获B的屏幕?

另外,是否可以将onTouch事件从A发送到B?

基本上,我想制作一个可以使用应用程序的机器人,所以我不需要。

我想这不可能,但不得不问。

2 个答案:

答案 0 :(得分:1)

您不能在Activity之间执行此操作,但您可以创建一个包含您要自动执行的Activity的视图。然后定期你可以抓住ViewDecorator并对其进行一些处理,然后注入触摸事件。

答案 1 :(得分:0)

出于安全考虑,Android设备会阻止不属于当前应用的应用的屏幕截图。 据我所知,在Android 4.3之前你只能在这些场景中这样做:

  • 您的设备已植根
  • 您的应用使用与系统相同的签名(Google应用)进行签名
  • 使用adb(调试环境):您的设备通过USB连接到运行adb shell命令的PC,或USB已断开连接但您在每次设备重启后已在设备中启动了本机adb服务。

一些有用的链接:

How to programmatically take a screenshot in Android?

How to make a capture screen app on Android

http://code.google.com/p/android-screenshot-library/wiki/UserGuide