小编pik*_*111的帖子

androidaccessibilityService是否可以在低于30的api上进行屏幕截图?

我正在使用 Android AccessibilityService 使用在 api 级别 30 上添加的某些方法来截取屏幕截图,我想知道它是否适用于低于 30 的 api

这是我重写的方法


    @Override
    public void takeScreenshot(int displayId, @NonNull Executor executor, @NonNull TakeScreenshotCallback callback) {
        super.takeScreenshot(displayId, executor, callback);
    }
Run Code Online (Sandbox Code Playgroud)

这就是我调用 takeScreenshot 方法的地方,它通过 takeScreenshot CallBack 给我结果


takeScreenshot(Display.DEFAULT_DISPLAY,
                getApplicationContext().getMainExecutor(), new TakeScreenshotCallback() {
            @RequiresApi(api = Build.VERSION_CODES.R)
            @Override
            public void onSuccess(@NonNull ScreenshotResult screenshotResult) {

                Log.i("ScreenShotResult","onSuccess");
                Bitmap bitmap = Bitmap.wrapHardwareBuffer(screenshotResult.getHardwareBuffer(),screenshotResult.getColorSpace());
                AccessibilityUtils.saveImage(bitmap,getApplicationContext(),"WhatsappIntegration");

            }

            @Override
            public void onFailure(int i) {

                Log.i("ScreenShotResult","onFailure code is "+ i);

            }
        });

Run Code Online (Sandbox Code Playgroud)

api android accessibilityservice android-studio

5
推荐指数
1
解决办法
3445
查看次数