Я хочу поделиться своим экраном устройства на сервере и получить к нему удаленный доступ с сервера.Я пробовал много способов, таких как: 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());
, но проблема в том, что яне могу захватить экран за пределами моего приложения, т.е. у меня нет доступа к родительскому представлению, на котором отображаются другие представления.
Также, если я получу доступ к родительскому представлению всех представлений, но это не будет рекурсивноНарисуйте содержимое его дочернего элемента.
Мой общий вопрос: Есть ли способ захватить экран (за пределами моего приложения), поделиться им на сервере и обработать щелчок?