How to get 'webgl' context in a webXR session on android?

an app generates an animated mesh on two scenes . One scene is webGL and the other AR with webXR. I want to be able to download the snapshots of both scenes. I have managed to do this with the webGL scene passing canvas to blob. works well on any device with webgl. but in webXR the snapshot only works on PC (webXR API emulator) and on iPhone (with XRviewer).
I don’t understand why this doesn’t work on android??? it exports a file but blank.
am I addressing wrong?
Why does it manage to download a proper snapshot on webxr EMULATORS but not on native android? have you got any idea? Help.

it is how I’m getting snapshots:

const getARScreenshot = () => {
try {
const canvas = renderer.domElement;
canvas.toBlob((blob) => {
saveBlob(
blob,
screencapture-${canvas.width}x${canvas.height}.png
);
});
} catch (e) {
console.log(e);
return;
}

       const saveBlob = (function () {
         const a = document.createElement("a");
         document.body.appendChild(a);
         a.style.display = "none";
         return function saveData(blob, fileName) {
           const url = window.URL.createObjectURL(blob);
           a.href = url;
           a.download = fileName;
           a.click();
         };
       })();