Is there an existing app I can install that will record my touch interactions in the background? I just saw this and it made me want to play around with my touch data to see what it looked like. Didn't turn up any likely candidates here or in the Market. Google seemed to indicate that it is certainly doable if you write your own foreground app (which I have no interest in doing because I want to record my touches in the entire system), and that it might be possible using a custom-developed background app, which might be a fun project but I'd rather install an existing app if possible.

if there is anything like that I'm pretty sure it would require at least rooted phone, as it is a security and privacy issue if any application can record touches (e.g. a malicious touch recorder app will be able to record your password that you typed on the on-screen keyboard).
–
Lie RyanSep 30 '11 at 23:35

Yeah... I know what I want it for, but I'm not sure I would trust it if someone else gave it to me anyway...
–
jj33Oct 3 '11 at 13:19

5 Answers
5

AFAIK, based on the android sandbox security model, you can't track the screen touches when your application is not the active app.

With that said, I have done some work (still in progress) on a PC based application that injects a jar on the device (has to be rooted) and from the PC I can send "touches" to the device, no matter what application is open. But, it is still using android code to send the touch events to the device. There is nothing in there for me to get the touch events from the device unless it is "my application" and i am capturing them as the user touches areas of my app. Once they exit or open another application and my app is not longer "on top", I am no longer capturing the touch events.

As I said, I have done work on a "remote control" type app that runs on the PC, and I have toyed around with using my android device as a "touch pad" to control the mouse on my PC so I have done some research in to what you are talking about, and this was my findings.

In Ice Cream Sandwich, I noticed a few cool features in the Developer options that are related to touches: Go to Settings -> Developer options. There is the Pointer location option. This shows an overlay of touch information such as coordinates and drag path. There is also Show touches, which shows where your touching the screen. The former might provide you some good information, but doesn't record the data for analysis later. The latter is more for when you're recording a video so it's clear where the user is touching.

Check out the Screen Filter app on Market. Screen Filter lets you overlay the screen with a transparent layer so you can have a dimmer screen. This doesn't let you record, but I suspect that the same approach they are using to dim the screen could instead be used to capture touch data and record it. Might be worth looking into developing, depending on why you need such an application.