Я создал службу специальных возможностей. Моя цель — делать снимки экрана экрана.
Приведенный ниже код делает только снимки экрана самого приложения.
Код: Выделить всё
Screenshot.Default.CaptureAsync();
Ссылка: код на Java, который я пытаюсь реализовать
Метод создания снимка экрана C#:
Код: Выделить всё
public override void TakeScreenshot(int displayId, IExecutor executor, ITakeScreenshotCallback callback)
{
base.TakeScreenshot(displayId, executor, callback);
}
Код: Выделить всё
takeScreenshot(Display.DEFAULT_DISPLAY, getApplicationContext().getMainExecutor(), new TakeScreenshotCallback() {
@Override
public void onSuccess(@NonNull ScreenshotResult screenshotResult) {
Log.d("SCREENSHOT", "Success");
sudokuMap = Bitmap.wrapHardwareBuffer(screenshotResult.getHardwareBuffer(), screenshotResult.getColorSpace());
sudokuMap = Bitmap.createBitmap(sudokuMap, 39,498,1002,1002);
result = true;
Toast.makeText(getBaseContext(), "Success", Toast.LENGTH_LONG).show();
saveImage(sudokuMap);
}
@Override
public void onFailure(int i) {
Log.d("SCREENSHOT", "Failed " + i);
sudokuMap = Bitmap.createBitmap(1,1, Bitmap.Config.ARGB_8888);
result = false;
Toast.makeText(getBaseContext(), "Failed " + i, Toast.LENGTH_LONG).show();
}
});
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/790 ... ty-service