Как сделать снимок экрана другого приложения программно без разрешения root, например, Screenshot UX Trial?

Как сделать снимок экрана другого приложения программно без разрешения root, например, Screenshot UX Trial?

I know I can capture the bitmap of the root view in my app. But I can't get the root view of the other app when my app is running in background

bitmap = Bitmap.createBitmap(rootview.getDrawingCache());

There is a permission for capturing current frame buffer in Manifest: android.permission.READ_FRAME_BUFFER. But some website says it's for signature app only.

Check Android Permissions - Protection Levels

После попытки Screenshot UX Trial, я прочитал разрешение:

INTERNET: for connect to localhost screenshot server for rooted phone. SYSTEM_ALERT_WINDOW: for topmost camera button. VIBRATE: for vibrate feedback. WRITE_EXTERNAL_STORAGE: to save the screenshot. GET_TASKS: for detect foreground Develoment setting activity for non rooted&non preloaded capture method.

Похоже либоSYSTEM_ALERT_WINDOW или жеGET_TASKS разрешить приложению делать снимок экрана. У меня есть два предположения о том, как это работает:

It may be able to access the Activity of the foreground activity, it gets the root view of the Activity, capture its screenshot. Calling glreadpixels

Если вы попробуете одно из моих предположений, пожалуйста, дайте мне знать результат.

Ответы на вопрос(3)

Ваш ответ на вопрос