Как удаленно поделиться и получить доступ к моему экрану телефона Android, как teamviewer - PullRequest
0 голосов
/ 22 февраля 2019

Я хочу поделиться своим экраном устройства на сервере и получить к нему удаленный доступ с сервера.Я пробовал много способов, таких как: MediaProjection , setDrawingCacheEnabled (true) .

В случае MediaProjection я узнаю, что мы должны пройти поверхность, и она будетнарисовать весь экран на этой поверхности.Но я хочу получить нарисованное или растровое изображение с этой поверхности, которым я могу поделиться, а также обработать щелчок с сервера, который отразится на моем устройстве Android (как это делает teamviewer):

MediaProjection:

VirtualDisplay mVirtualDisplay = mMediaProjection.createVirtualDisplay("ScreenCapture",
            mSurfaceView.getWidth(), mSurfaceView.getHeight(), mScreenDensity,
            DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
            mSurfaceView.getHolder().getSurface()
            , null, null);

Но, используя VirtualDisplay или Surface , я не могу поделиться этим на сервере.Есть ли другой способ непрерывного захвата экрана и предоставления к нему доступа на сервере.

setDrawingCacheEnabled (true) :

View view = getView().getRootView();
    view.setDrawingCacheEnabled(true);
    view.buildDrawingCache(true);
    Bitmap b = Bitmap.createBitmap(view.getDrawingCache());

, но проблема в том, что яне могу захватить экран за пределами моего приложения, т.е. у меня нет доступа к родительскому представлению, на котором отображаются другие представления.

Также, если я получу доступ к родительскому представлению всех представлений, но это не будет рекурсивноНарисуйте содержимое его дочернего элемента.

Мой общий вопрос: Есть ли способ захватить экран (за пределами моего приложения), поделиться им на сервере и обработать щелчок?

...