安卓无障碍截屏

public class RsenAccessibilityService extends AccessibilityService {
 
 
@Override
 
protected void onServiceConnected() {
 
super.onServiceConnected();
 
//服务开启时,调用
 
//setServiceInfo();这个方法同样可以实现xml中的配置信息
 
//可以做一些开启后的操作比如点两下返回
 
}
 
 
@Override
 
public boolean onUnbind(Intent intent) {
 
//关闭服务时,调用
 
//如果有资源记得释放
 
return super.onUnbind(intent);
 
}
 
 
@Override
 
public void onAccessibilityEvent(AccessibilityEvent event) {
 
//这个方法是我们用的最多的方法,我们会在这个方法里写大量的逻辑操作。
 
//通过对event的判断执行不同的操作
 
//当窗口发生的事件是我们配置监听的事件时,会回调此方法.会被调用多次
 
}
 
@Override
 
public void onInterrupt() {
 
//当服务要被中断时调用.会被调用多次
 
}

 public void onReceiveMsg(Eventpic message) {
        if (Build.VERSION.SDK_INT >= 30) {
            screenshot();}
    }
}

我这里加了一个通知,收到通知开始在无障碍服务里截屏

 public void onReceiveMsg(Eventpic message) {
        if (Build.VERSION.SDK_INT >= 30) {
            screenshot();}
    }
 @RequiresApi(api = 30)
    public void screenshot() {
        System.out.println("AccessibilityService====SCREENSHOTtrying to capture");
        takeScreenshot(0, getApplicationContext().getMainExecutor(), new AccessibilityService.TakeScreenshotCallback() { // from class: com.stardust.autojs.core.accessibility.AccessibilityService.2
            @Override // android.accessibilityservice.AccessibilityService.TakeScreenshotCallback
            public void onFailure(int i) {
                System.out.println("AccessibilityService====SCREENSHOTFailed " + i);
            }

            @Override // android.accessibilityservice.AccessibilityService.TakeScreenshotCallback
            public void onSuccess(@NonNull AccessibilityService.ScreenshotResult screenshotResult) {
                System.out.println("AccessibilityService====SCREENSHOTSuccess1");
                try {
                    Bitmap.createBitmap(Bitmap.wrapHardwareBuffer(screenshotResult.getHardwareBuffer(), screenshotResult.getColorSpace()), 0, 0, getScreenWidth(RsenAccessibilityService.this), getScreenHeight(RsenAccessibilityService.this)); //这里得到图片
                } catch (Exception e) {
                    System.out.println("AccessibilityService====SCREENSHOT||screenshot()Exception:" + e.toString());
                    e.printStackTrace();
                }
            }
        });
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值