Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to capture a screenshot of other Android applications from an app without root?

Tags:

android

I want to capture a screen shot of Android applications that are running on my phone.

I tried using the ScreenShot UX application. This can be done on an unrooted phone also. Any idea of how to get the screen shot of the application in Android from a service that runs in the background?

I want my Service to capture screen periodically and send to a server.

like image 434
Abi Avatar asked Nov 28 '22 11:11

Abi


1 Answers

The only way to take a screenshot of an app that is not your own is by getting the raw framebuffer. The framebuffer is usually located at /dev/fb0 or /dev/graphics/fb0. On some devices (like an LG Optimus One) this can be accessed without root privileges, but on the majority (like a Nexus S) of them you need to be rooted for this. This is usually not allowed for security reasons, as a malicious app could take screenshots in the background and send them to a remote server, revealing information like email IDs and passwords, and in some cases bank account details.

like image 180
Raghav Sood Avatar answered Dec 16 '22 07:12

Raghav Sood